@flowtomic/ui 0.1.14 → 0.2.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.
Files changed (175) hide show
  1. package/dist/components/_reference/shadcn-ai/prompt-input.d.ts +48 -0
  2. package/dist/components/_reference/shadcn-ai/prompt-input.d.ts.map +1 -0
  3. package/dist/components/_reference/shadcn-ai/prompt-input.js +67 -0
  4. package/dist/components/atoms/actions/badge/badge.d.ts +97 -1
  5. package/dist/components/atoms/actions/badge/badge.d.ts.map +1 -1
  6. package/dist/components/atoms/actions/badge/badge.js +83 -0
  7. package/dist/components/atoms/actions/button/button.d.ts +134 -1
  8. package/dist/components/atoms/actions/button/button.d.ts.map +1 -1
  9. package/dist/components/atoms/actions/button/button.js +106 -0
  10. package/dist/components/atoms/actions/context-menu/context-menu.d.ts +79 -0
  11. package/dist/components/atoms/actions/context-menu/context-menu.d.ts.map +1 -1
  12. package/dist/components/atoms/actions/context-menu/context-menu.js +55 -0
  13. package/dist/components/atoms/actions/dropdown-menu/dropdown-menu.d.ts +51 -3
  14. package/dist/components/atoms/actions/dropdown-menu/dropdown-menu.d.ts.map +1 -1
  15. package/dist/components/atoms/actions/dropdown-menu/dropdown-menu.js +51 -3
  16. package/dist/components/atoms/animation/encrypted-text/encrypted-text.d.ts.map +1 -1
  17. package/dist/components/atoms/animation/encrypted-text/encrypted-text.js +3 -1
  18. package/dist/components/atoms/feedback/alert/alert.d.ts +77 -12
  19. package/dist/components/atoms/feedback/alert/alert.d.ts.map +1 -1
  20. package/dist/components/atoms/feedback/alert/alert.js +64 -12
  21. package/dist/components/atoms/feedback/alert-dialog/alert-dialog.d.ts +2 -2
  22. package/dist/components/atoms/feedback/dialog/dialog.d.ts +66 -8
  23. package/dist/components/atoms/feedback/dialog/dialog.d.ts.map +1 -1
  24. package/dist/components/atoms/feedback/dialog/dialog.js +66 -8
  25. package/dist/components/atoms/feedback/hover-card/hover-card.d.ts +45 -5
  26. package/dist/components/atoms/feedback/hover-card/hover-card.d.ts.map +1 -1
  27. package/dist/components/atoms/feedback/hover-card/hover-card.js +45 -5
  28. package/dist/components/atoms/feedback/inline-citation/inline-citation.d.ts +53 -2
  29. package/dist/components/atoms/feedback/inline-citation/inline-citation.d.ts.map +1 -1
  30. package/dist/components/atoms/feedback/inline-citation/inline-citation.js +53 -2
  31. package/dist/components/atoms/feedback/popover/popover.d.ts +78 -0
  32. package/dist/components/atoms/feedback/popover/popover.d.ts.map +1 -1
  33. package/dist/components/atoms/feedback/popover/popover.js +64 -0
  34. package/dist/components/atoms/feedback/sheet/sheet.d.ts +90 -0
  35. package/dist/components/atoms/feedback/sheet/sheet.d.ts.map +1 -1
  36. package/dist/components/atoms/feedback/sheet/sheet.js +78 -0
  37. package/dist/components/atoms/feedback/sonner/sonner.d.ts +66 -6
  38. package/dist/components/atoms/feedback/sonner/sonner.d.ts.map +1 -1
  39. package/dist/components/atoms/feedback/sonner/sonner.js +66 -6
  40. package/dist/components/atoms/feedback/tooltip/tooltip.d.ts +54 -4
  41. package/dist/components/atoms/feedback/tooltip/tooltip.d.ts.map +1 -1
  42. package/dist/components/atoms/feedback/tooltip/tooltip.js +63 -5
  43. package/dist/components/atoms/forms/checkbox/checkbox.d.ts +62 -4
  44. package/dist/components/atoms/forms/checkbox/checkbox.d.ts.map +1 -1
  45. package/dist/components/atoms/forms/checkbox/checkbox.js +58 -4
  46. package/dist/components/atoms/forms/field/field.d.ts +67 -0
  47. package/dist/components/atoms/forms/field/field.d.ts.map +1 -1
  48. package/dist/components/atoms/forms/field/field.js +47 -0
  49. package/dist/components/atoms/forms/form/form.d.ts +60 -0
  50. package/dist/components/atoms/forms/form/form.d.ts.map +1 -1
  51. package/dist/components/atoms/forms/form/form.js +3 -0
  52. package/dist/components/atoms/forms/input/input.d.ts +100 -1
  53. package/dist/components/atoms/forms/input/input.d.ts.map +1 -1
  54. package/dist/components/atoms/forms/input/input.js +82 -0
  55. package/dist/components/atoms/forms/input-otp/input-otp.d.ts +62 -0
  56. package/dist/components/atoms/forms/input-otp/input-otp.d.ts.map +1 -1
  57. package/dist/components/atoms/forms/input-otp/input-otp.js +50 -0
  58. package/dist/components/atoms/forms/label/label.d.ts +54 -0
  59. package/dist/components/atoms/forms/label/label.d.ts.map +1 -1
  60. package/dist/components/atoms/forms/label/label.js +50 -0
  61. package/dist/components/atoms/forms/radio-group/radio-group.d.ts +47 -0
  62. package/dist/components/atoms/forms/radio-group/radio-group.d.ts.map +1 -1
  63. package/dist/components/atoms/forms/radio-group/radio-group.js +43 -0
  64. package/dist/components/atoms/forms/select/select.d.ts +62 -0
  65. package/dist/components/atoms/forms/select/select.d.ts.map +1 -1
  66. package/dist/components/atoms/forms/select/select.js +62 -0
  67. package/dist/components/atoms/forms/slider/slider.d.ts +60 -0
  68. package/dist/components/atoms/forms/slider/slider.d.ts.map +1 -1
  69. package/dist/components/atoms/forms/slider/slider.js +53 -1
  70. package/dist/components/atoms/forms/switch/switch.d.ts +67 -0
  71. package/dist/components/atoms/forms/switch/switch.d.ts.map +1 -1
  72. package/dist/components/atoms/forms/switch/switch.js +63 -0
  73. package/dist/components/atoms/forms/textarea/textarea.d.ts +66 -0
  74. package/dist/components/atoms/forms/textarea/textarea.d.ts.map +1 -1
  75. package/dist/components/atoms/forms/textarea/textarea.js +13 -0
  76. package/dist/components/atoms/forms/toggle/toggle.d.ts +65 -1
  77. package/dist/components/atoms/forms/toggle/toggle.d.ts.map +1 -1
  78. package/dist/components/atoms/forms/toggle/toggle.js +58 -0
  79. package/dist/components/atoms/index.d.ts +0 -2
  80. package/dist/components/atoms/index.d.ts.map +1 -1
  81. package/dist/components/atoms/index.js +0 -1
  82. package/dist/components/atoms/layout/accordion/accordion.d.ts +84 -0
  83. package/dist/components/atoms/layout/accordion/accordion.d.ts.map +1 -1
  84. package/dist/components/atoms/layout/accordion/accordion.js +72 -0
  85. package/dist/components/atoms/layout/aspect-ratio/aspect-ratio.d.ts +54 -0
  86. package/dist/components/atoms/layout/aspect-ratio/aspect-ratio.d.ts.map +1 -1
  87. package/dist/components/atoms/layout/aspect-ratio/aspect-ratio.js +49 -0
  88. package/dist/components/atoms/layout/collapsible/collapsible.d.ts +47 -5
  89. package/dist/components/atoms/layout/collapsible/collapsible.d.ts.map +1 -1
  90. package/dist/components/atoms/layout/collapsible/collapsible.js +47 -5
  91. package/dist/components/atoms/layout/drawer/drawer.d.ts +55 -0
  92. package/dist/components/atoms/layout/drawer/drawer.d.ts.map +1 -1
  93. package/dist/components/atoms/layout/index.d.ts +2 -0
  94. package/dist/components/atoms/layout/index.d.ts.map +1 -1
  95. package/dist/components/atoms/layout/index.js +1 -0
  96. package/dist/components/atoms/layout/resizable/resizable.d.ts +77 -2
  97. package/dist/components/atoms/layout/resizable/resizable.d.ts.map +1 -1
  98. package/dist/components/atoms/layout/resizable/resizable.js +68 -0
  99. package/dist/components/atoms/layout/scroll-area/scroll-area.d.ts +34 -2
  100. package/dist/components/atoms/layout/scroll-area/scroll-area.d.ts.map +1 -1
  101. package/dist/components/atoms/layout/scroll-area/scroll-area.js +35 -3
  102. package/dist/components/atoms/layout/sidebar/sidebar.d.ts +66 -1
  103. package/dist/components/atoms/layout/sidebar/sidebar.d.ts.map +1 -1
  104. package/dist/components/atoms/layout/sidebar/sidebar.js +66 -0
  105. package/dist/components/atoms/layout/toggle-group/toggle-group.d.ts +73 -0
  106. package/dist/components/atoms/layout/toggle-group/toggle-group.d.ts.map +1 -1
  107. package/dist/components/atoms/layout/toggle-group/toggle-group.js +57 -0
  108. package/dist/components/atoms/layout/widget-resize-handle/index.d.ts +3 -0
  109. package/dist/components/atoms/layout/widget-resize-handle/index.d.ts.map +1 -0
  110. package/dist/components/atoms/layout/widget-resize-handle/index.js +1 -0
  111. package/dist/components/atoms/layout/widget-resize-handle/widget-resize-handle.d.ts +98 -0
  112. package/dist/components/atoms/layout/widget-resize-handle/widget-resize-handle.d.ts.map +1 -0
  113. package/dist/components/atoms/layout/widget-resize-handle/widget-resize-handle.js +117 -0
  114. package/dist/components/atoms/navigation/command/command.d.ts +7 -7
  115. package/dist/components/molecules/data-display/chat-message/chat-message.d.ts +39 -0
  116. package/dist/components/molecules/data-display/chat-message/chat-message.d.ts.map +1 -0
  117. package/dist/components/molecules/data-display/chat-message/chat-message.js +85 -0
  118. package/dist/components/molecules/data-display/chat-message/index.d.ts +3 -0
  119. package/dist/components/molecules/data-display/chat-message/index.d.ts.map +1 -0
  120. package/dist/components/molecules/data-display/chat-message/index.js +1 -0
  121. package/dist/components/molecules/data-display/message/message.d.ts +22 -6
  122. package/dist/components/molecules/data-display/message/message.d.ts.map +1 -1
  123. package/dist/components/molecules/data-display/message/message.js +192 -8
  124. package/dist/components/molecules/draggable-widget/draggable-widget.d.ts.map +1 -1
  125. package/dist/components/molecules/draggable-widget/draggable-widget.js +6 -2
  126. package/dist/components/molecules/feedback/edit-chat-message-modal/edit-chat-message-modal.d.ts +20 -0
  127. package/dist/components/molecules/feedback/edit-chat-message-modal/edit-chat-message-modal.d.ts.map +1 -0
  128. package/dist/components/molecules/feedback/edit-chat-message-modal/edit-chat-message-modal.js +65 -0
  129. package/dist/components/molecules/feedback/edit-chat-message-modal/index.d.ts +3 -0
  130. package/dist/components/molecules/feedback/edit-chat-message-modal/index.d.ts.map +1 -0
  131. package/dist/components/molecules/feedback/edit-chat-message-modal/index.js +1 -0
  132. package/dist/components/molecules/forms/autocomplete/autocomplete-section.d.ts.map +1 -1
  133. package/dist/components/molecules/forms/autocomplete/autocomplete-section.js +3 -1
  134. package/dist/components/molecules/forms/chat-input/chat-input.d.ts +46 -0
  135. package/dist/components/molecules/forms/chat-input/chat-input.d.ts.map +1 -0
  136. package/dist/components/molecules/forms/chat-input/chat-input.js +57 -0
  137. package/dist/components/molecules/forms/chat-input/index.d.ts +3 -0
  138. package/dist/components/molecules/forms/chat-input/index.d.ts.map +1 -0
  139. package/dist/components/molecules/forms/chat-input/index.js +1 -0
  140. package/dist/components/molecules/forms/item/item.d.ts +1 -1
  141. package/dist/components/molecules/forms/text-editor/text-editor.d.ts.map +1 -1
  142. package/dist/components/molecules/index.d.ts +6 -0
  143. package/dist/components/molecules/index.d.ts.map +1 -1
  144. package/dist/components/molecules/index.js +3 -0
  145. package/dist/components/molecules/navigation/menu-dock/menu-dock.js +1 -1
  146. package/dist/components/organisms/chat-log/chat-log.d.ts +30 -0
  147. package/dist/components/organisms/chat-log/chat-log.d.ts.map +1 -0
  148. package/dist/components/organisms/chat-log/chat-log.js +21 -0
  149. package/dist/components/organisms/chat-log/index.d.ts +3 -0
  150. package/dist/components/organisms/chat-log/index.d.ts.map +1 -0
  151. package/dist/components/organisms/chat-log/index.js +1 -0
  152. package/dist/components/organisms/document-editor/document-editor.d.ts.map +1 -1
  153. package/dist/components/organisms/document-editor/document-editor.js +2 -2
  154. package/dist/components/organisms/draggable-dashboard-grid/draggable-dashboard-grid.d.ts.map +1 -1
  155. package/dist/components/organisms/draggable-dashboard-grid/draggable-dashboard-grid.js +1 -1
  156. package/dist/components/organisms/form-layout/form-layout.d.ts.map +1 -1
  157. package/dist/components/organisms/form-layout/form-layout.js +3 -1
  158. package/dist/components/organisms/genealogy-canvas/genealogy-canvas.d.ts +0 -5
  159. package/dist/components/organisms/genealogy-canvas/genealogy-canvas.d.ts.map +1 -1
  160. package/dist/components/organisms/genealogy-canvas/genealogy-canvas.js +50 -55
  161. package/dist/components/organisms/index.d.ts +2 -0
  162. package/dist/components/organisms/index.d.ts.map +1 -1
  163. package/dist/components/organisms/index.js +1 -0
  164. package/dist/components/organisms/model-selector/model-selector.d.ts +1 -1
  165. package/dist/components/organisms/prompt-input/index.d.ts +1 -1
  166. package/dist/components/organisms/prompt-input/index.d.ts.map +1 -1
  167. package/dist/components/organisms/prompt-input/index.js +1 -1
  168. package/dist/components/organisms/prompt-input/prompt-input.d.ts +22 -7
  169. package/dist/components/organisms/prompt-input/prompt-input.d.ts.map +1 -1
  170. package/dist/components/organisms/prompt-input/prompt-input.js +26 -17
  171. package/dist/index.js +501 -501
  172. package/dist/test/setup.d.ts +2 -0
  173. package/dist/test/setup.d.ts.map +1 -0
  174. package/dist/test/setup.js +43 -0
  175. package/package.json +18 -2
@@ -1,14 +1,78 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * # Popover Component
4
+ *
5
+ * O componente `Popover` é usado para exibir conteúdo flutuante que aparece
6
+ * quando o usuário clica em um trigger. É baseado em Radix UI para garantir
7
+ * acessibilidade completa.
8
+ *
9
+ * ## Características Principais
10
+ *
11
+ * - **Acessível**: Baseado em Radix UI com suporte completo a leitores de tela
12
+ * - **Posicionamento**: Suporta alinhamento e offset customizáveis
13
+ * - **Composição**: Popover + PopoverTrigger + PopoverContent para flexibilidade
14
+ * - **Foco Gerenciado**: Foco e navegação por teclado gerenciados automaticamente
15
+ *
16
+ * ## Uso Básico
17
+ *
18
+ * ```tsx
19
+ * import { Popover, PopoverTrigger, PopoverContent } from "@flowtomic/ui/components/atoms/feedback/popover";
20
+ *
21
+ * function MyComponent() {
22
+ * return (
23
+ * <Popover>
24
+ * <PopoverTrigger>Open</PopoverTrigger>
25
+ * <PopoverContent>
26
+ * <p>Conteúdo do popover</p>
27
+ * </PopoverContent>
28
+ * </Popover>
29
+ * );
30
+ * }
31
+ * ```
32
+ *
33
+ * ## Acessibilidade
34
+ *
35
+ * - Suporta navegação por teclado (Tab, Escape)
36
+ * - Segue padrões WAI-ARIA via Radix UI
37
+ * - Suporta leitores de tela
38
+ * - Foco gerenciado automaticamente
39
+ *
40
+ * @see [Radix UI Popover](https://www.radix-ui.com/primitives/docs/components/popover) para mais detalhes
41
+ */
2
42
  import * as PopoverPrimitive from "@radix-ui/react-popover";
3
43
  import { cn } from "@/lib/utils";
44
+ /**
45
+ * Popover - Container principal do popover.
46
+ *
47
+ * Componente usado para exibir conteúdo flutuante quando o usuário clica em um trigger.
48
+ *
49
+ * @param {PopoverProps} props - Props do componente
50
+ * @returns {JSX.Element} Componente Popover
51
+ */
4
52
  function Popover({ ...props }) {
5
53
  return _jsx(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
6
54
  }
7
55
  Popover.displayName = "Popover";
56
+ /**
57
+ * PopoverTrigger - Trigger do popover.
58
+ *
59
+ * Componente usado como trigger para abrir o popover.
60
+ *
61
+ * @param {PopoverTriggerProps} props - Props do componente
62
+ * @returns {JSX.Element} Componente PopoverTrigger
63
+ */
8
64
  function PopoverTrigger({ ...props }) {
9
65
  return _jsx(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
10
66
  }
11
67
  PopoverTrigger.displayName = "PopoverTrigger";
68
+ /**
69
+ * PopoverContent - Conteúdo do popover.
70
+ *
71
+ * Componente usado para exibir o conteúdo do popover.
72
+ *
73
+ * @param {PopoverContentProps} props - Props do componente
74
+ * @returns {JSX.Element} Componente PopoverContent
75
+ */
12
76
  function PopoverContent({ className, align = "center", sideOffset = 4, ...props }) {
13
77
  return (_jsx(PopoverPrimitive.Portal, { children: _jsx(PopoverPrimitive.Content, { "data-slot": "popover-content", align: align, sideOffset: sideOffset, className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden", className), ...props }) }));
14
78
  }
@@ -1,13 +1,89 @@
1
+ /**
2
+ * # Sheet Component
3
+ *
4
+ * O componente `Sheet` é usado para exibir conteúdo em um painel lateral deslizante.
5
+ * É baseado em Radix UI Dialog para garantir acessibilidade completa.
6
+ *
7
+ * ## Características Principais
8
+ *
9
+ * - **Acessível**: Baseado em Radix UI Dialog com suporte completo a leitores de tela
10
+ * - **Lados**: Suporta abertura de qualquer lado (top, right, bottom, left)
11
+ * - **Composição**: Múltiplos sub-componentes para flexibilidade
12
+ * - **Foco Gerenciado**: Foco e navegação por teclado gerenciados automaticamente
13
+ * - **Overlay**: Overlay escuro por padrão
14
+ *
15
+ * ## Componentes
16
+ *
17
+ * - **Sheet**: Container principal
18
+ * - **SheetTrigger**: Trigger para abrir o sheet
19
+ * - **SheetContent**: Conteúdo do sheet
20
+ * - **SheetHeader**: Cabeçalho do sheet
21
+ * - **SheetFooter**: Rodapé do sheet
22
+ * - **SheetTitle**: Título do sheet
23
+ * - **SheetDescription**: Descrição do sheet
24
+ * - **SheetClose**: Botão de fechar
25
+ *
26
+ * ## Uso Básico
27
+ *
28
+ * ```tsx
29
+ * import { Sheet, SheetTrigger, SheetContent, SheetHeader, SheetTitle } from "@flowtomic/ui/components/atoms/feedback/sheet";
30
+ *
31
+ * function MyComponent() {
32
+ * return (
33
+ * <Sheet>
34
+ * <SheetTrigger>Open Sheet</SheetTrigger>
35
+ * <SheetContent>
36
+ * <SheetHeader>
37
+ * <SheetTitle>Sheet Title</SheetTitle>
38
+ * </SheetHeader>
39
+ * </SheetContent>
40
+ * </Sheet>
41
+ * );
42
+ * }
43
+ * ```
44
+ *
45
+ * ## Acessibilidade
46
+ *
47
+ * - Suporta navegação por teclado (Tab, Escape)
48
+ * - Segue padrões WAI-ARIA via Radix UI
49
+ * - Suporta leitores de tela
50
+ * - Foco gerenciado automaticamente
51
+ * - Foco retorna ao trigger quando fechado
52
+ *
53
+ * @see [Radix UI Dialog](https://www.radix-ui.com/primitives/docs/components/dialog) para mais detalhes
54
+ */
1
55
  import * as SheetPrimitive from "@radix-ui/react-dialog";
2
56
  import type * as React from "react";
57
+ /**
58
+ * Props do componente Sheet.
59
+ */
3
60
  export interface SheetProps extends React.ComponentProps<typeof SheetPrimitive.Root> {
4
61
  }
62
+ /**
63
+ * Sheet - Container principal do sheet.
64
+ *
65
+ * Componente usado para gerenciar o estado do sheet.
66
+ *
67
+ * @param {SheetProps} props - Props do componente
68
+ * @returns {JSX.Element} Componente Sheet
69
+ */
5
70
  declare function Sheet({ ...props }: SheetProps): import("react/jsx-runtime").JSX.Element;
6
71
  declare namespace Sheet {
7
72
  var displayName: string;
8
73
  }
74
+ /**
75
+ * Props do componente SheetTrigger.
76
+ */
9
77
  export interface SheetTriggerProps extends React.ComponentProps<typeof SheetPrimitive.Trigger> {
10
78
  }
79
+ /**
80
+ * SheetTrigger - Trigger do sheet.
81
+ *
82
+ * Componente usado como trigger para abrir o sheet.
83
+ *
84
+ * @param {SheetTriggerProps} props - Props do componente
85
+ * @returns {JSX.Element} Componente SheetTrigger
86
+ */
11
87
  declare function SheetTrigger({ ...props }: SheetTriggerProps): import("react/jsx-runtime").JSX.Element;
12
88
  declare namespace SheetTrigger {
13
89
  var displayName: string;
@@ -30,9 +106,23 @@ declare function SheetOverlay({ className, ...props }: SheetOverlayProps): impor
30
106
  declare namespace SheetOverlay {
31
107
  var displayName: string;
32
108
  }
109
+ /**
110
+ * Props do componente SheetContent.
111
+ *
112
+ * @property {'top' | 'right' | 'bottom' | 'left'} [side='right'] - Lado de onde o sheet abre
113
+ */
33
114
  export interface SheetContentProps extends React.ComponentProps<typeof SheetPrimitive.Content> {
115
+ /** Lado de onde o sheet abre */
34
116
  side?: "top" | "right" | "bottom" | "left";
35
117
  }
118
+ /**
119
+ * SheetContent - Conteúdo do sheet.
120
+ *
121
+ * Componente usado para exibir o conteúdo do sheet.
122
+ *
123
+ * @param {SheetContentProps} props - Props do componente
124
+ * @returns {JSX.Element} Componente SheetContent
125
+ */
36
126
  declare function SheetContent({ className, children, side, ...props }: SheetContentProps): import("react/jsx-runtime").JSX.Element;
37
127
  declare namespace SheetContent {
38
128
  var displayName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/feedback/sheet/sheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAGpC,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC;CAAG;AAEvF,iBAAS,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAEtC;kBAFQ,KAAK;;;AAMd,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC;CAAG;AAEjG,iBAAS,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAEpD;kBAFQ,YAAY;;;AAMrB,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC;CAAG;AAE7F,iBAAS,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,2CAEhD;kBAFQ,UAAU;;;AAMnB,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,MAAM,CAAC;CAAG;AAE/F,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAElD;kBAFQ,WAAW;;;AAMpB,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC;CAAG;AAEjG,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAW/D;kBAXQ,YAAY;;;AAerB,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC;IAC5F,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC5C;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAc,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CA4BzF;kBA5BQ,YAAY;;;AAgCrB,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;CAAG;AAExE,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAQ7D;kBARQ,WAAW;;;AAYpB,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;CAAG;AAExE,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAQ7D;kBARQ,WAAW;;;AAYpB,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC;CAAG;AAE7F,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,2CAQ3D;kBARQ,UAAU;;;AAYnB,MAAM,WAAW,qBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,WAAW,CAAC;CAAG;AAEpE,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,qBAAqB,2CAQvE;kBARQ,gBAAgB;;;AAYzB,OAAO,EACL,KAAK,EACL,YAAY,EACZ,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,GACjB,CAAC"}
1
+ {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/feedback/sheet/sheet.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AAEH,OAAO,KAAK,cAAc,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAGpC;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC;CAAG;AAEvF;;;;;;;GAOG;AACH,iBAAS,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAEtC;kBAFQ,KAAK;;;AAMd;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC;CAAG;AAEjG;;;;;;;GAOG;AACH,iBAAS,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAEpD;kBAFQ,YAAY;;;AAMrB,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC;CAAG;AAE7F,iBAAS,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,2CAEhD;kBAFQ,UAAU;;;AAMnB,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,MAAM,CAAC;CAAG;AAE/F,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAElD;kBAFQ,WAAW;;;AAMpB,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC;CAAG;AAEjG,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAW/D;kBAXQ,YAAY;;;AAerB;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC;IAC5F,gCAAgC;IAChC,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC5C;AAED;;;;;;;GAOG;AACH,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAc,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CA4BzF;kBA5BQ,YAAY;;;AAgCrB,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;CAAG;AAExE,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAQ7D;kBARQ,WAAW;;;AAYpB,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;CAAG;AAExE,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAQ7D;kBARQ,WAAW;;;AAYpB,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC;CAAG;AAE7F,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,2CAQ3D;kBARQ,UAAU;;;AAYnB,MAAM,WAAW,qBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,WAAW,CAAC;CAAG;AAEpE,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,qBAAqB,2CAQvE;kBARQ,gBAAgB;;;AAYzB,OAAO,EACL,KAAK,EACL,YAAY,EACZ,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,GACjB,CAAC"}
@@ -1,11 +1,81 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * # Sheet Component
4
+ *
5
+ * O componente `Sheet` é usado para exibir conteúdo em um painel lateral deslizante.
6
+ * É baseado em Radix UI Dialog para garantir acessibilidade completa.
7
+ *
8
+ * ## Características Principais
9
+ *
10
+ * - **Acessível**: Baseado em Radix UI Dialog com suporte completo a leitores de tela
11
+ * - **Lados**: Suporta abertura de qualquer lado (top, right, bottom, left)
12
+ * - **Composição**: Múltiplos sub-componentes para flexibilidade
13
+ * - **Foco Gerenciado**: Foco e navegação por teclado gerenciados automaticamente
14
+ * - **Overlay**: Overlay escuro por padrão
15
+ *
16
+ * ## Componentes
17
+ *
18
+ * - **Sheet**: Container principal
19
+ * - **SheetTrigger**: Trigger para abrir o sheet
20
+ * - **SheetContent**: Conteúdo do sheet
21
+ * - **SheetHeader**: Cabeçalho do sheet
22
+ * - **SheetFooter**: Rodapé do sheet
23
+ * - **SheetTitle**: Título do sheet
24
+ * - **SheetDescription**: Descrição do sheet
25
+ * - **SheetClose**: Botão de fechar
26
+ *
27
+ * ## Uso Básico
28
+ *
29
+ * ```tsx
30
+ * import { Sheet, SheetTrigger, SheetContent, SheetHeader, SheetTitle } from "@flowtomic/ui/components/atoms/feedback/sheet";
31
+ *
32
+ * function MyComponent() {
33
+ * return (
34
+ * <Sheet>
35
+ * <SheetTrigger>Open Sheet</SheetTrigger>
36
+ * <SheetContent>
37
+ * <SheetHeader>
38
+ * <SheetTitle>Sheet Title</SheetTitle>
39
+ * </SheetHeader>
40
+ * </SheetContent>
41
+ * </Sheet>
42
+ * );
43
+ * }
44
+ * ```
45
+ *
46
+ * ## Acessibilidade
47
+ *
48
+ * - Suporta navegação por teclado (Tab, Escape)
49
+ * - Segue padrões WAI-ARIA via Radix UI
50
+ * - Suporta leitores de tela
51
+ * - Foco gerenciado automaticamente
52
+ * - Foco retorna ao trigger quando fechado
53
+ *
54
+ * @see [Radix UI Dialog](https://www.radix-ui.com/primitives/docs/components/dialog) para mais detalhes
55
+ */
2
56
  import * as SheetPrimitive from "@radix-ui/react-dialog";
3
57
  import { XIcon } from "lucide-react";
4
58
  import { cn } from "@/lib/utils";
59
+ /**
60
+ * Sheet - Container principal do sheet.
61
+ *
62
+ * Componente usado para gerenciar o estado do sheet.
63
+ *
64
+ * @param {SheetProps} props - Props do componente
65
+ * @returns {JSX.Element} Componente Sheet
66
+ */
5
67
  function Sheet({ ...props }) {
6
68
  return _jsx(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
7
69
  }
8
70
  Sheet.displayName = "Sheet";
71
+ /**
72
+ * SheetTrigger - Trigger do sheet.
73
+ *
74
+ * Componente usado como trigger para abrir o sheet.
75
+ *
76
+ * @param {SheetTriggerProps} props - Props do componente
77
+ * @returns {JSX.Element} Componente SheetTrigger
78
+ */
9
79
  function SheetTrigger({ ...props }) {
10
80
  return _jsx(SheetPrimitive.Trigger, { "data-slot": "sheet-trigger", ...props });
11
81
  }
@@ -22,6 +92,14 @@ function SheetOverlay({ className, ...props }) {
22
92
  return (_jsx(SheetPrimitive.Overlay, { "data-slot": "sheet-overlay", className: cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50", className), ...props }));
23
93
  }
24
94
  SheetOverlay.displayName = "SheetOverlay";
95
+ /**
96
+ * SheetContent - Conteúdo do sheet.
97
+ *
98
+ * Componente usado para exibir o conteúdo do sheet.
99
+ *
100
+ * @param {SheetContentProps} props - Props do componente
101
+ * @returns {JSX.Element} Componente SheetContent
102
+ */
25
103
  function SheetContent({ className, children, side = "right", ...props }) {
26
104
  return (_jsxs(SheetPortal, { children: [_jsx(SheetOverlay, {}), _jsxs(SheetPrimitive.Content, { "data-slot": "sheet-content", className: cn("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500", side === "right" &&
27
105
  "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm", side === "left" &&
@@ -1,12 +1,72 @@
1
1
  /**
2
- * Sonner Component - Flowtomic UI
2
+ * # Sonner Component (Toaster)
3
3
  *
4
- * Componente Sonner próprio do design-system
5
- * Implementação padronizada seguindo os padrões do design system
6
- * Baseado em: https://ui.shadcn.com/docs/components/sonner
4
+ * O componente `Toaster` (Sonner) é usado para exibir notificações toast
5
+ * na aplicação. Fornece feedback visual para ações do usuário com diferentes
6
+ * tipos de mensagens (success, error, warning, info, loading).
7
7
  *
8
- * NOTA: Este componente requer que o tema seja passado como prop
9
- * ou que o projeto use um hook de tema compatível
8
+ * ## Características Principais
9
+ *
10
+ * - **Múltiplos Tipos**: Suporta success, error, warning, info e loading
11
+ * - **Posicionamento**: Configurável (padrão: top-right)
12
+ * - **Tema**: Suporta light e dark
13
+ * - **Ícones**: Ícones customizados para cada tipo
14
+ * - **Ações**: Suporta botões de ação e cancelamento
15
+ *
16
+ * ## Tipos de Toast
17
+ *
18
+ * - **success**: Mensagens de sucesso (verde)
19
+ * - **error**: Mensagens de erro (vermelho)
20
+ * - **warning**: Avisos (amarelo)
21
+ * - **info**: Informações (azul)
22
+ * - **loading**: Carregamento (spinner)
23
+ *
24
+ * ## Uso Básico
25
+ *
26
+ * ```tsx
27
+ * import { Toaster, toast } from "@flowtomic/ui/components/atoms/feedback/sonner";
28
+ *
29
+ * function App() {
30
+ * return (
31
+ * <>
32
+ * <Toaster />
33
+ * <button onClick={() => toast.success("Operação realizada com sucesso!")}>
34
+ * Mostrar Toast
35
+ * </button>
36
+ * </>
37
+ * );
38
+ * }
39
+ * ```
40
+ *
41
+ * ## Exemplos de Uso
42
+ *
43
+ * ```tsx
44
+ * // Success
45
+ * toast.success("Operação realizada com sucesso!");
46
+ *
47
+ * // Error
48
+ * toast.error("Erro ao processar requisição");
49
+ *
50
+ * // Warning
51
+ * toast.warning("Atenção: ação irreversível");
52
+ *
53
+ * // Info
54
+ * toast.info("Nova atualização disponível");
55
+ *
56
+ * // Loading
57
+ * const toastId = toast.loading("Processando...");
58
+ * // Depois atualizar para success
59
+ * toast.success("Concluído!", { id: toastId });
60
+ * ```
61
+ *
62
+ * ## Acessibilidade
63
+ *
64
+ * - Suporta leitores de tela
65
+ * - Navegação por teclado
66
+ * - Foco gerenciado automaticamente
67
+ *
68
+ * @see [Sonner Documentation](https://sonner.emilkowal.ski/) para mais detalhes
69
+ * @see [shadcn/ui Sonner](https://ui.shadcn.com/docs/components/sonner) para referência
10
70
  */
11
71
  import { type ToasterProps as SonnerToasterProps } from "sonner";
12
72
  export interface ToasterProps extends Omit<SonnerToasterProps, "theme"> {
@@ -1 +1 @@
1
- {"version":3,"file":"sonner.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/feedback/sonner/sonner.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH,OAAO,EAA4B,KAAK,YAAY,IAAI,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE3F,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrE;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,EAAE,KAAe,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,2CAsClE;AAGD,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"sonner.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/feedback/sonner/sonner.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AAWH,OAAO,EAA4B,KAAK,YAAY,IAAI,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE3F,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrE;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,EAAE,KAAe,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,2CAsClE;AAGD,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC"}
@@ -1,12 +1,72 @@
1
1
  /**
2
- * Sonner Component - Flowtomic UI
2
+ * # Sonner Component (Toaster)
3
3
  *
4
- * Componente Sonner próprio do design-system
5
- * Implementação padronizada seguindo os padrões do design system
6
- * Baseado em: https://ui.shadcn.com/docs/components/sonner
4
+ * O componente `Toaster` (Sonner) é usado para exibir notificações toast
5
+ * na aplicação. Fornece feedback visual para ações do usuário com diferentes
6
+ * tipos de mensagens (success, error, warning, info, loading).
7
7
  *
8
- * NOTA: Este componente requer que o tema seja passado como prop
9
- * ou que o projeto use um hook de tema compatível
8
+ * ## Características Principais
9
+ *
10
+ * - **Múltiplos Tipos**: Suporta success, error, warning, info e loading
11
+ * - **Posicionamento**: Configurável (padrão: top-right)
12
+ * - **Tema**: Suporta light e dark
13
+ * - **Ícones**: Ícones customizados para cada tipo
14
+ * - **Ações**: Suporta botões de ação e cancelamento
15
+ *
16
+ * ## Tipos de Toast
17
+ *
18
+ * - **success**: Mensagens de sucesso (verde)
19
+ * - **error**: Mensagens de erro (vermelho)
20
+ * - **warning**: Avisos (amarelo)
21
+ * - **info**: Informações (azul)
22
+ * - **loading**: Carregamento (spinner)
23
+ *
24
+ * ## Uso Básico
25
+ *
26
+ * ```tsx
27
+ * import { Toaster, toast } from "@flowtomic/ui/components/atoms/feedback/sonner";
28
+ *
29
+ * function App() {
30
+ * return (
31
+ * <>
32
+ * <Toaster />
33
+ * <button onClick={() => toast.success("Operação realizada com sucesso!")}>
34
+ * Mostrar Toast
35
+ * </button>
36
+ * </>
37
+ * );
38
+ * }
39
+ * ```
40
+ *
41
+ * ## Exemplos de Uso
42
+ *
43
+ * ```tsx
44
+ * // Success
45
+ * toast.success("Operação realizada com sucesso!");
46
+ *
47
+ * // Error
48
+ * toast.error("Erro ao processar requisição");
49
+ *
50
+ * // Warning
51
+ * toast.warning("Atenção: ação irreversível");
52
+ *
53
+ * // Info
54
+ * toast.info("Nova atualização disponível");
55
+ *
56
+ * // Loading
57
+ * const toastId = toast.loading("Processando...");
58
+ * // Depois atualizar para success
59
+ * toast.success("Concluído!", { id: toastId });
60
+ * ```
61
+ *
62
+ * ## Acessibilidade
63
+ *
64
+ * - Suporta leitores de tela
65
+ * - Navegação por teclado
66
+ * - Foco gerenciado automaticamente
67
+ *
68
+ * @see [Sonner Documentation](https://sonner.emilkowal.ski/) para mais detalhes
69
+ * @see [shadcn/ui Sonner](https://ui.shadcn.com/docs/components/sonner) para referência
10
70
  */
11
71
  "use client";
12
72
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -1,9 +1,59 @@
1
1
  /**
2
- * Tooltip Component - Flowtomic UI
2
+ * # Tooltip Component
3
3
  *
4
- * Componente Tooltip baseado em Radix UI (padrão) ou React Aria (followMouse)
5
- * com seguimento do mouse e posicionamento inteligente
6
- * Baseado no Aceternity UI Tooltip Card para animações
4
+ * O componente `Tooltip` é usado para exibir informações adicionais quando o usuário
5
+ * passa o mouse sobre um elemento. Suporta dois modos: padrão (Radix UI) e com
6
+ * seguimento do mouse (React Aria).
7
+ *
8
+ * ## Características Principais
9
+ *
10
+ * - **Dois Modos**: Padrão (Radix UI) ou com seguimento do mouse (React Aria)
11
+ * - **Posicionamento Inteligente**: Ajusta automaticamente para não sair da viewport
12
+ * - **Acessível**: Suporta leitores de tela e navegação por teclado
13
+ * - **Animações**: Animações suaves via Framer Motion no modo followMouse
14
+ * - **Composição**: TooltipProvider + Tooltip + TooltipTrigger + TooltipContent
15
+ *
16
+ * ## Modos de Uso
17
+ *
18
+ * ### Modo Padrão (Radix UI)
19
+ *
20
+ * ```tsx
21
+ * import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from "@flowtomic/ui/components/atoms/feedback/tooltip";
22
+ *
23
+ * <TooltipProvider>
24
+ * <Tooltip>
25
+ * <TooltipTrigger asChild>
26
+ * <Button>Hover me</Button>
27
+ * </TooltipTrigger>
28
+ * <TooltipContent>
29
+ * <p>Informação do tooltip</p>
30
+ * </TooltipContent>
31
+ * </Tooltip>
32
+ * </TooltipProvider>
33
+ * ```
34
+ *
35
+ * ### Modo com Seguimento do Mouse
36
+ *
37
+ * ```tsx
38
+ * import { TooltipWithMouseFollow } from "@flowtomic/ui/components/atoms/feedback/tooltip";
39
+ *
40
+ * <TooltipWithMouseFollow
41
+ * content={<p>Este tooltip segue o mouse!</p>}
42
+ * minWidth={240}
43
+ * >
44
+ * <Button>Hover and move</Button>
45
+ * </TooltipWithMouseFollow>
46
+ * ```
47
+ *
48
+ * ## Acessibilidade
49
+ *
50
+ * - Suporta leitores de tela via React Aria
51
+ * - Navegação por teclado (Tab, Enter, Espaço)
52
+ * - Suporte a touch em dispositivos móveis
53
+ * - Posicionamento inteligente para não sair da viewport
54
+ *
55
+ * @see [Radix UI Tooltip](https://www.radix-ui.com/primitives/docs/components/tooltip) para mais detalhes
56
+ * @see [React Aria Tooltip](https://react-spectrum.adobe.com/react-aria/useTooltip.html) para mais detalhes
7
57
  */
8
58
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
9
59
  import * as React from "react";
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/feedback/tooltip/tooltip.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAI5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACxF,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAClG,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,wBAAwB,CAC9D,OAAO,gBAAgB,CAAC,OAAO,CAChC,GAAG;IACF;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,eAAe,iDAA4B,CAAC;AAGlD;;GAEG;AACH,QAAA,MAAM,OAAO,yCAAwB,CAAC;AAGtC;;GAEG;AACH,QAAA,MAAM,cAAc;0BAGM,OAAO;2CAW/B,CAAC;AAGH;;GAEG;AACH,QAAA,MAAM,aAAa,+CAA0B,CAAC;AAG9C;;GAEG;AACH,QAAA,MAAM,cAAc;IArDlB;;;OAGG;kBACW,OAAO;IACrB;;;OAGG;eACQ,MAAM;wCA6EjB,CAAC;AAmBH;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,SAAS,EACT,QAAc,GACf,EAAE;IACD,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,2CA0NA;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/feedback/tooltip/tooltip.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAIH,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAI5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACxF,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAClG,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,wBAAwB,CAC9D,OAAO,gBAAgB,CAAC,OAAO,CAChC,GAAG;IACF;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,eAAe,iDAA4B,CAAC;AAGlD;;GAEG;AACH,QAAA,MAAM,OAAO,yCAAwB,CAAC;AAGtC;;GAEG;AACH,QAAA,MAAM,cAAc;0BAGM,OAAO;2CAW/B,CAAC;AAGH;;GAEG;AACH,QAAA,MAAM,aAAa,+CAA0B,CAAC;AAG9C;;GAEG;AACH,QAAA,MAAM,cAAc;IArDlB;;;OAGG;kBACW,OAAO;IACrB;;;OAGG;eACQ,MAAM;wCA6EjB,CAAC;AAmBH;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,SAAS,EACT,QAAc,GACf,EAAE;IACD,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,2CAkOA;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC"}
@@ -1,9 +1,59 @@
1
1
  /**
2
- * Tooltip Component - Flowtomic UI
2
+ * # Tooltip Component
3
3
  *
4
- * Componente Tooltip baseado em Radix UI (padrão) ou React Aria (followMouse)
5
- * com seguimento do mouse e posicionamento inteligente
6
- * Baseado no Aceternity UI Tooltip Card para animações
4
+ * O componente `Tooltip` é usado para exibir informações adicionais quando o usuário
5
+ * passa o mouse sobre um elemento. Suporta dois modos: padrão (Radix UI) e com
6
+ * seguimento do mouse (React Aria).
7
+ *
8
+ * ## Características Principais
9
+ *
10
+ * - **Dois Modos**: Padrão (Radix UI) ou com seguimento do mouse (React Aria)
11
+ * - **Posicionamento Inteligente**: Ajusta automaticamente para não sair da viewport
12
+ * - **Acessível**: Suporta leitores de tela e navegação por teclado
13
+ * - **Animações**: Animações suaves via Framer Motion no modo followMouse
14
+ * - **Composição**: TooltipProvider + Tooltip + TooltipTrigger + TooltipContent
15
+ *
16
+ * ## Modos de Uso
17
+ *
18
+ * ### Modo Padrão (Radix UI)
19
+ *
20
+ * ```tsx
21
+ * import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from "@flowtomic/ui/components/atoms/feedback/tooltip";
22
+ *
23
+ * <TooltipProvider>
24
+ * <Tooltip>
25
+ * <TooltipTrigger asChild>
26
+ * <Button>Hover me</Button>
27
+ * </TooltipTrigger>
28
+ * <TooltipContent>
29
+ * <p>Informação do tooltip</p>
30
+ * </TooltipContent>
31
+ * </Tooltip>
32
+ * </TooltipProvider>
33
+ * ```
34
+ *
35
+ * ### Modo com Seguimento do Mouse
36
+ *
37
+ * ```tsx
38
+ * import { TooltipWithMouseFollow } from "@flowtomic/ui/components/atoms/feedback/tooltip";
39
+ *
40
+ * <TooltipWithMouseFollow
41
+ * content={<p>Este tooltip segue o mouse!</p>}
42
+ * minWidth={240}
43
+ * >
44
+ * <Button>Hover and move</Button>
45
+ * </TooltipWithMouseFollow>
46
+ * ```
47
+ *
48
+ * ## Acessibilidade
49
+ *
50
+ * - Suporta leitores de tela via React Aria
51
+ * - Navegação por teclado (Tab, Enter, Espaço)
52
+ * - Suporte a touch em dispositivos móveis
53
+ * - Posicionamento inteligente para não sair da viewport
54
+ *
55
+ * @see [Radix UI Tooltip](https://www.radix-ui.com/primitives/docs/components/tooltip) para mais detalhes
56
+ * @see [React Aria Tooltip](https://react-spectrum.adobe.com/react-aria/useTooltip.html) para mais detalhes
7
57
  */
8
58
  "use client";
9
59
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -197,7 +247,15 @@ export function TooltipWithMouseFollow({ content, children, containerClassName,
197
247
  });
198
248
  }
199
249
  }, [isVisible, mouse.x, mouse.y, calculatePosition]);
200
- return (_jsxs("div", { ref: containerRef, className: cn("relative inline-block", containerClassName), onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, onMouseMove: handleMouseMove, onTouchStart: handleTouchStart, onTouchEnd: handleTouchEnd, onClick: handleClick, children: [children, _jsx(AnimatePresence, { children: isVisible && (_jsx(motion.div, { initial: { height: 0, opacity: 0 }, animate: { height, opacity: 1 }, exit: { height: 0, opacity: 0 }, transition: {
250
+ return (
251
+ // biome-ignore lint/a11y/noStaticElementInteractions: Trigger flexível
252
+ // biome-ignore lint/a11y/useKeyWithClickEvents: Comportamento de trigger customizado
253
+ _jsxs("div", { ref: containerRef, className: cn("relative inline-block", containerClassName), onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, onMouseMove: handleMouseMove, onTouchStart: handleTouchStart, onTouchEnd: handleTouchEnd, onClick: handleClick, onKeyDown: (e) => {
254
+ if (e.key === "Enter" || e.key === " ") {
255
+ e.preventDefault();
256
+ handleClick?.(e);
257
+ }
258
+ }, children: [children, _jsx(AnimatePresence, { children: isVisible && (_jsx(motion.div, { initial: { height: 0, opacity: 0 }, animate: { height, opacity: 1 }, exit: { height: 0, opacity: 0 }, transition: {
201
259
  type: "spring",
202
260
  stiffness: 200,
203
261
  damping: 20,