@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.
- package/dist/components/_reference/shadcn-ai/prompt-input.d.ts +48 -0
- package/dist/components/_reference/shadcn-ai/prompt-input.d.ts.map +1 -0
- package/dist/components/_reference/shadcn-ai/prompt-input.js +67 -0
- package/dist/components/atoms/actions/badge/badge.d.ts +97 -1
- package/dist/components/atoms/actions/badge/badge.d.ts.map +1 -1
- package/dist/components/atoms/actions/badge/badge.js +83 -0
- package/dist/components/atoms/actions/button/button.d.ts +134 -1
- package/dist/components/atoms/actions/button/button.d.ts.map +1 -1
- package/dist/components/atoms/actions/button/button.js +106 -0
- package/dist/components/atoms/actions/context-menu/context-menu.d.ts +79 -0
- package/dist/components/atoms/actions/context-menu/context-menu.d.ts.map +1 -1
- package/dist/components/atoms/actions/context-menu/context-menu.js +55 -0
- package/dist/components/atoms/actions/dropdown-menu/dropdown-menu.d.ts +51 -3
- package/dist/components/atoms/actions/dropdown-menu/dropdown-menu.d.ts.map +1 -1
- package/dist/components/atoms/actions/dropdown-menu/dropdown-menu.js +51 -3
- package/dist/components/atoms/animation/encrypted-text/encrypted-text.d.ts.map +1 -1
- package/dist/components/atoms/animation/encrypted-text/encrypted-text.js +3 -1
- package/dist/components/atoms/feedback/alert/alert.d.ts +77 -12
- package/dist/components/atoms/feedback/alert/alert.d.ts.map +1 -1
- package/dist/components/atoms/feedback/alert/alert.js +64 -12
- package/dist/components/atoms/feedback/alert-dialog/alert-dialog.d.ts +2 -2
- package/dist/components/atoms/feedback/dialog/dialog.d.ts +66 -8
- package/dist/components/atoms/feedback/dialog/dialog.d.ts.map +1 -1
- package/dist/components/atoms/feedback/dialog/dialog.js +66 -8
- package/dist/components/atoms/feedback/hover-card/hover-card.d.ts +45 -5
- package/dist/components/atoms/feedback/hover-card/hover-card.d.ts.map +1 -1
- package/dist/components/atoms/feedback/hover-card/hover-card.js +45 -5
- package/dist/components/atoms/feedback/inline-citation/inline-citation.d.ts +53 -2
- package/dist/components/atoms/feedback/inline-citation/inline-citation.d.ts.map +1 -1
- package/dist/components/atoms/feedback/inline-citation/inline-citation.js +53 -2
- package/dist/components/atoms/feedback/popover/popover.d.ts +78 -0
- package/dist/components/atoms/feedback/popover/popover.d.ts.map +1 -1
- package/dist/components/atoms/feedback/popover/popover.js +64 -0
- package/dist/components/atoms/feedback/sheet/sheet.d.ts +90 -0
- package/dist/components/atoms/feedback/sheet/sheet.d.ts.map +1 -1
- package/dist/components/atoms/feedback/sheet/sheet.js +78 -0
- package/dist/components/atoms/feedback/sonner/sonner.d.ts +66 -6
- package/dist/components/atoms/feedback/sonner/sonner.d.ts.map +1 -1
- package/dist/components/atoms/feedback/sonner/sonner.js +66 -6
- package/dist/components/atoms/feedback/tooltip/tooltip.d.ts +54 -4
- package/dist/components/atoms/feedback/tooltip/tooltip.d.ts.map +1 -1
- package/dist/components/atoms/feedback/tooltip/tooltip.js +63 -5
- package/dist/components/atoms/forms/checkbox/checkbox.d.ts +62 -4
- package/dist/components/atoms/forms/checkbox/checkbox.d.ts.map +1 -1
- package/dist/components/atoms/forms/checkbox/checkbox.js +58 -4
- package/dist/components/atoms/forms/field/field.d.ts +67 -0
- package/dist/components/atoms/forms/field/field.d.ts.map +1 -1
- package/dist/components/atoms/forms/field/field.js +47 -0
- package/dist/components/atoms/forms/form/form.d.ts +60 -0
- package/dist/components/atoms/forms/form/form.d.ts.map +1 -1
- package/dist/components/atoms/forms/form/form.js +3 -0
- package/dist/components/atoms/forms/input/input.d.ts +100 -1
- package/dist/components/atoms/forms/input/input.d.ts.map +1 -1
- package/dist/components/atoms/forms/input/input.js +82 -0
- package/dist/components/atoms/forms/input-otp/input-otp.d.ts +62 -0
- package/dist/components/atoms/forms/input-otp/input-otp.d.ts.map +1 -1
- package/dist/components/atoms/forms/input-otp/input-otp.js +50 -0
- package/dist/components/atoms/forms/label/label.d.ts +54 -0
- package/dist/components/atoms/forms/label/label.d.ts.map +1 -1
- package/dist/components/atoms/forms/label/label.js +50 -0
- package/dist/components/atoms/forms/radio-group/radio-group.d.ts +47 -0
- package/dist/components/atoms/forms/radio-group/radio-group.d.ts.map +1 -1
- package/dist/components/atoms/forms/radio-group/radio-group.js +43 -0
- package/dist/components/atoms/forms/select/select.d.ts +62 -0
- package/dist/components/atoms/forms/select/select.d.ts.map +1 -1
- package/dist/components/atoms/forms/select/select.js +62 -0
- package/dist/components/atoms/forms/slider/slider.d.ts +60 -0
- package/dist/components/atoms/forms/slider/slider.d.ts.map +1 -1
- package/dist/components/atoms/forms/slider/slider.js +53 -1
- package/dist/components/atoms/forms/switch/switch.d.ts +67 -0
- package/dist/components/atoms/forms/switch/switch.d.ts.map +1 -1
- package/dist/components/atoms/forms/switch/switch.js +63 -0
- package/dist/components/atoms/forms/textarea/textarea.d.ts +66 -0
- package/dist/components/atoms/forms/textarea/textarea.d.ts.map +1 -1
- package/dist/components/atoms/forms/textarea/textarea.js +13 -0
- package/dist/components/atoms/forms/toggle/toggle.d.ts +65 -1
- package/dist/components/atoms/forms/toggle/toggle.d.ts.map +1 -1
- package/dist/components/atoms/forms/toggle/toggle.js +58 -0
- package/dist/components/atoms/index.d.ts +0 -2
- package/dist/components/atoms/index.d.ts.map +1 -1
- package/dist/components/atoms/index.js +0 -1
- package/dist/components/atoms/layout/accordion/accordion.d.ts +84 -0
- package/dist/components/atoms/layout/accordion/accordion.d.ts.map +1 -1
- package/dist/components/atoms/layout/accordion/accordion.js +72 -0
- package/dist/components/atoms/layout/aspect-ratio/aspect-ratio.d.ts +54 -0
- package/dist/components/atoms/layout/aspect-ratio/aspect-ratio.d.ts.map +1 -1
- package/dist/components/atoms/layout/aspect-ratio/aspect-ratio.js +49 -0
- package/dist/components/atoms/layout/collapsible/collapsible.d.ts +47 -5
- package/dist/components/atoms/layout/collapsible/collapsible.d.ts.map +1 -1
- package/dist/components/atoms/layout/collapsible/collapsible.js +47 -5
- package/dist/components/atoms/layout/drawer/drawer.d.ts +55 -0
- package/dist/components/atoms/layout/drawer/drawer.d.ts.map +1 -1
- package/dist/components/atoms/layout/index.d.ts +2 -0
- package/dist/components/atoms/layout/index.d.ts.map +1 -1
- package/dist/components/atoms/layout/index.js +1 -0
- package/dist/components/atoms/layout/resizable/resizable.d.ts +77 -2
- package/dist/components/atoms/layout/resizable/resizable.d.ts.map +1 -1
- package/dist/components/atoms/layout/resizable/resizable.js +68 -0
- package/dist/components/atoms/layout/scroll-area/scroll-area.d.ts +34 -2
- package/dist/components/atoms/layout/scroll-area/scroll-area.d.ts.map +1 -1
- package/dist/components/atoms/layout/scroll-area/scroll-area.js +35 -3
- package/dist/components/atoms/layout/sidebar/sidebar.d.ts +66 -1
- package/dist/components/atoms/layout/sidebar/sidebar.d.ts.map +1 -1
- package/dist/components/atoms/layout/sidebar/sidebar.js +66 -0
- package/dist/components/atoms/layout/toggle-group/toggle-group.d.ts +73 -0
- package/dist/components/atoms/layout/toggle-group/toggle-group.d.ts.map +1 -1
- package/dist/components/atoms/layout/toggle-group/toggle-group.js +57 -0
- package/dist/components/atoms/layout/widget-resize-handle/index.d.ts +3 -0
- package/dist/components/atoms/layout/widget-resize-handle/index.d.ts.map +1 -0
- package/dist/components/atoms/layout/widget-resize-handle/index.js +1 -0
- package/dist/components/atoms/layout/widget-resize-handle/widget-resize-handle.d.ts +98 -0
- package/dist/components/atoms/layout/widget-resize-handle/widget-resize-handle.d.ts.map +1 -0
- package/dist/components/atoms/layout/widget-resize-handle/widget-resize-handle.js +117 -0
- package/dist/components/atoms/navigation/command/command.d.ts +7 -7
- package/dist/components/molecules/data-display/chat-message/chat-message.d.ts +39 -0
- package/dist/components/molecules/data-display/chat-message/chat-message.d.ts.map +1 -0
- package/dist/components/molecules/data-display/chat-message/chat-message.js +85 -0
- package/dist/components/molecules/data-display/chat-message/index.d.ts +3 -0
- package/dist/components/molecules/data-display/chat-message/index.d.ts.map +1 -0
- package/dist/components/molecules/data-display/chat-message/index.js +1 -0
- package/dist/components/molecules/data-display/message/message.d.ts +22 -6
- package/dist/components/molecules/data-display/message/message.d.ts.map +1 -1
- package/dist/components/molecules/data-display/message/message.js +192 -8
- package/dist/components/molecules/draggable-widget/draggable-widget.d.ts.map +1 -1
- package/dist/components/molecules/draggable-widget/draggable-widget.js +6 -2
- package/dist/components/molecules/feedback/edit-chat-message-modal/edit-chat-message-modal.d.ts +20 -0
- package/dist/components/molecules/feedback/edit-chat-message-modal/edit-chat-message-modal.d.ts.map +1 -0
- package/dist/components/molecules/feedback/edit-chat-message-modal/edit-chat-message-modal.js +65 -0
- package/dist/components/molecules/feedback/edit-chat-message-modal/index.d.ts +3 -0
- package/dist/components/molecules/feedback/edit-chat-message-modal/index.d.ts.map +1 -0
- package/dist/components/molecules/feedback/edit-chat-message-modal/index.js +1 -0
- package/dist/components/molecules/forms/autocomplete/autocomplete-section.d.ts.map +1 -1
- package/dist/components/molecules/forms/autocomplete/autocomplete-section.js +3 -1
- package/dist/components/molecules/forms/chat-input/chat-input.d.ts +46 -0
- package/dist/components/molecules/forms/chat-input/chat-input.d.ts.map +1 -0
- package/dist/components/molecules/forms/chat-input/chat-input.js +57 -0
- package/dist/components/molecules/forms/chat-input/index.d.ts +3 -0
- package/dist/components/molecules/forms/chat-input/index.d.ts.map +1 -0
- package/dist/components/molecules/forms/chat-input/index.js +1 -0
- package/dist/components/molecules/forms/item/item.d.ts +1 -1
- package/dist/components/molecules/forms/text-editor/text-editor.d.ts.map +1 -1
- package/dist/components/molecules/index.d.ts +6 -0
- package/dist/components/molecules/index.d.ts.map +1 -1
- package/dist/components/molecules/index.js +3 -0
- package/dist/components/molecules/navigation/menu-dock/menu-dock.js +1 -1
- package/dist/components/organisms/chat-log/chat-log.d.ts +30 -0
- package/dist/components/organisms/chat-log/chat-log.d.ts.map +1 -0
- package/dist/components/organisms/chat-log/chat-log.js +21 -0
- package/dist/components/organisms/chat-log/index.d.ts +3 -0
- package/dist/components/organisms/chat-log/index.d.ts.map +1 -0
- package/dist/components/organisms/chat-log/index.js +1 -0
- package/dist/components/organisms/document-editor/document-editor.d.ts.map +1 -1
- package/dist/components/organisms/document-editor/document-editor.js +2 -2
- package/dist/components/organisms/draggable-dashboard-grid/draggable-dashboard-grid.d.ts.map +1 -1
- package/dist/components/organisms/draggable-dashboard-grid/draggable-dashboard-grid.js +1 -1
- package/dist/components/organisms/form-layout/form-layout.d.ts.map +1 -1
- package/dist/components/organisms/form-layout/form-layout.js +3 -1
- package/dist/components/organisms/genealogy-canvas/genealogy-canvas.d.ts +0 -5
- package/dist/components/organisms/genealogy-canvas/genealogy-canvas.d.ts.map +1 -1
- package/dist/components/organisms/genealogy-canvas/genealogy-canvas.js +50 -55
- package/dist/components/organisms/index.d.ts +2 -0
- package/dist/components/organisms/index.d.ts.map +1 -1
- package/dist/components/organisms/index.js +1 -0
- package/dist/components/organisms/model-selector/model-selector.d.ts +1 -1
- package/dist/components/organisms/prompt-input/index.d.ts +1 -1
- package/dist/components/organisms/prompt-input/index.d.ts.map +1 -1
- package/dist/components/organisms/prompt-input/index.js +1 -1
- package/dist/components/organisms/prompt-input/prompt-input.d.ts +22 -7
- package/dist/components/organisms/prompt-input/prompt-input.d.ts.map +1 -1
- package/dist/components/organisms/prompt-input/prompt-input.js +26 -17
- package/dist/index.js +501 -501
- package/dist/test/setup.d.ts +2 -0
- package/dist/test/setup.d.ts.map +1 -0
- package/dist/test/setup.js +43 -0
- package/package.json +18 -2
|
@@ -1,8 +1,56 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Dialog Component
|
|
2
|
+
* # Dialog Component
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* O componente `Dialog` é usado para exibir conteúdo em uma modal overlay.
|
|
5
|
+
* É baseado em Radix UI para garantir acessibilidade completa.
|
|
6
|
+
*
|
|
7
|
+
* ## Características Principais
|
|
8
|
+
*
|
|
9
|
+
* - **Acessível**: Baseado em Radix UI com suporte completo a leitores de tela
|
|
10
|
+
* - **Composição**: Múltiplos sub-componentes para flexibilidade
|
|
11
|
+
* - **Foco Gerenciado**: Foco e navegação por teclado gerenciados automaticamente
|
|
12
|
+
* - **Overlay**: Overlay escuro por padrão
|
|
13
|
+
* - **Fechamento**: Suporta fechamento via Escape, clique no overlay ou botão de fechar
|
|
14
|
+
*
|
|
15
|
+
* ## Componentes
|
|
16
|
+
*
|
|
17
|
+
* - **Dialog**: Container principal
|
|
18
|
+
* - **DialogTrigger**: Trigger para abrir o dialog
|
|
19
|
+
* - **DialogContent**: Conteúdo do dialog
|
|
20
|
+
* - **DialogHeader**: Cabeçalho do dialog (título e descrição)
|
|
21
|
+
* - **DialogFooter**: Rodapé do dialog (botões de ação)
|
|
22
|
+
* - **DialogTitle**: Título do dialog
|
|
23
|
+
* - **DialogDescription**: Descrição do dialog
|
|
24
|
+
* - **DialogClose**: Botão de fechar
|
|
25
|
+
*
|
|
26
|
+
* ## Uso Básico
|
|
27
|
+
*
|
|
28
|
+
* ```tsx
|
|
29
|
+
* import { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogTitle } from "@flowtomic/ui/components/atoms/feedback/dialog";
|
|
30
|
+
*
|
|
31
|
+
* function MyComponent() {
|
|
32
|
+
* return (
|
|
33
|
+
* <Dialog>
|
|
34
|
+
* <DialogTrigger>Open Dialog</DialogTrigger>
|
|
35
|
+
* <DialogContent>
|
|
36
|
+
* <DialogHeader>
|
|
37
|
+
* <DialogTitle>Title</DialogTitle>
|
|
38
|
+
* </DialogHeader>
|
|
39
|
+
* </DialogContent>
|
|
40
|
+
* </Dialog>
|
|
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
|
|
6
54
|
*/
|
|
7
55
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
8
56
|
import * as React from "react";
|
|
@@ -14,23 +62,33 @@ export type DialogFooterProps = React.HTMLAttributes<HTMLDivElement>;
|
|
|
14
62
|
export type DialogTitleProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>;
|
|
15
63
|
export type DialogDescriptionProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>;
|
|
16
64
|
/**
|
|
17
|
-
* Dialog - Container principal do dialog
|
|
65
|
+
* Dialog - Container principal do dialog.
|
|
66
|
+
*
|
|
67
|
+
* Componente usado para gerenciar o estado do dialog.
|
|
18
68
|
*/
|
|
19
69
|
declare const Dialog: React.FC<DialogPrimitive.DialogProps>;
|
|
20
70
|
/**
|
|
21
|
-
* DialogTrigger - Trigger do dialog
|
|
71
|
+
* DialogTrigger - Trigger do dialog.
|
|
72
|
+
*
|
|
73
|
+
* Componente usado como trigger para abrir o dialog.
|
|
22
74
|
*/
|
|
23
75
|
declare const DialogTrigger: React.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
24
76
|
/**
|
|
25
|
-
* DialogPortal - Portal do dialog
|
|
77
|
+
* DialogPortal - Portal do dialog.
|
|
78
|
+
*
|
|
79
|
+
* Componente usado para renderizar o dialog em um portal.
|
|
26
80
|
*/
|
|
27
81
|
declare const DialogPortal: React.FC<DialogPrimitive.DialogPortalProps>;
|
|
28
82
|
/**
|
|
29
|
-
* DialogClose - Botão de fechar do dialog
|
|
83
|
+
* DialogClose - Botão de fechar do dialog.
|
|
84
|
+
*
|
|
85
|
+
* Componente usado para fechar o dialog.
|
|
30
86
|
*/
|
|
31
87
|
declare const DialogClose: React.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
|
32
88
|
/**
|
|
33
|
-
* DialogOverlay - Overlay do dialog
|
|
89
|
+
* DialogOverlay - Overlay do dialog.
|
|
90
|
+
*
|
|
91
|
+
* Componente usado para exibir o overlay escuro atrás do dialog.
|
|
34
92
|
*/
|
|
35
93
|
declare const DialogOverlay: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
36
94
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/feedback/dialog/dialog.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/feedback/dialog/dialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AAEH,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AACtF,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAChG,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAChG,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AACrE,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AACrE,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAC5F,MAAM,MAAM,sBAAsB,GAAG,KAAK,CAAC,wBAAwB,CACjE,OAAO,eAAe,CAAC,WAAW,CACnC,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,MAAM,uCAAuB,CAAC;AAGpC;;;;GAIG;AACH,QAAA,MAAM,aAAa,8GAA0B,CAAC;AAG9C;;;;GAIG;AACH,QAAA,MAAM,YAAY,6CAAyB,CAAC;AAG5C;;;;GAIG;AACH,QAAA,MAAM,WAAW,4GAAwB,CAAC;AAG1C;;;;GAIG;AACH,QAAA,MAAM,aAAa,8JAYjB,CAAC;AAGH;;GAEG;AACH,QAAA,MAAM,aAAa,8JAqBjB,CAAC;AAGH;;GAEG;AACH,QAAA,MAAM,YAAY;8BAA6B,iBAAiB;;CAE/D,CAAC;AAGF;;GAEG;AACH,QAAA,MAAM,YAAY;8BAA6B,iBAAiB;;CAK/D,CAAC;AAGF;;GAEG;AACH,QAAA,MAAM,WAAW,oKASf,CAAC;AAGH;;GAEG;AACH,QAAA,MAAM,iBAAiB,8KASrB,CAAC;AAGH,OAAO,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,CAAC"}
|
|
@@ -1,36 +1,94 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
|
-
* Dialog Component
|
|
3
|
+
* # Dialog Component
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* O componente `Dialog` é usado para exibir conteúdo em uma modal overlay.
|
|
6
|
+
* É baseado em Radix UI para garantir acessibilidade completa.
|
|
7
|
+
*
|
|
8
|
+
* ## Características Principais
|
|
9
|
+
*
|
|
10
|
+
* - **Acessível**: Baseado em Radix UI com suporte completo a leitores de tela
|
|
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
|
+
* - **Fechamento**: Suporta fechamento via Escape, clique no overlay ou botão de fechar
|
|
15
|
+
*
|
|
16
|
+
* ## Componentes
|
|
17
|
+
*
|
|
18
|
+
* - **Dialog**: Container principal
|
|
19
|
+
* - **DialogTrigger**: Trigger para abrir o dialog
|
|
20
|
+
* - **DialogContent**: Conteúdo do dialog
|
|
21
|
+
* - **DialogHeader**: Cabeçalho do dialog (título e descrição)
|
|
22
|
+
* - **DialogFooter**: Rodapé do dialog (botões de ação)
|
|
23
|
+
* - **DialogTitle**: Título do dialog
|
|
24
|
+
* - **DialogDescription**: Descrição do dialog
|
|
25
|
+
* - **DialogClose**: Botão de fechar
|
|
26
|
+
*
|
|
27
|
+
* ## Uso Básico
|
|
28
|
+
*
|
|
29
|
+
* ```tsx
|
|
30
|
+
* import { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogTitle } from "@flowtomic/ui/components/atoms/feedback/dialog";
|
|
31
|
+
*
|
|
32
|
+
* function MyComponent() {
|
|
33
|
+
* return (
|
|
34
|
+
* <Dialog>
|
|
35
|
+
* <DialogTrigger>Open Dialog</DialogTrigger>
|
|
36
|
+
* <DialogContent>
|
|
37
|
+
* <DialogHeader>
|
|
38
|
+
* <DialogTitle>Title</DialogTitle>
|
|
39
|
+
* </DialogHeader>
|
|
40
|
+
* </DialogContent>
|
|
41
|
+
* </Dialog>
|
|
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
|
|
7
55
|
*/
|
|
8
56
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
9
57
|
import { X } from "lucide-react";
|
|
10
58
|
import * as React from "react";
|
|
11
59
|
import { cn } from "@/lib/utils";
|
|
12
60
|
/**
|
|
13
|
-
* Dialog - Container principal do dialog
|
|
61
|
+
* Dialog - Container principal do dialog.
|
|
62
|
+
*
|
|
63
|
+
* Componente usado para gerenciar o estado do dialog.
|
|
14
64
|
*/
|
|
15
65
|
const Dialog = DialogPrimitive.Root;
|
|
16
66
|
Dialog.displayName = "Dialog";
|
|
17
67
|
/**
|
|
18
|
-
* DialogTrigger - Trigger do dialog
|
|
68
|
+
* DialogTrigger - Trigger do dialog.
|
|
69
|
+
*
|
|
70
|
+
* Componente usado como trigger para abrir o dialog.
|
|
19
71
|
*/
|
|
20
72
|
const DialogTrigger = DialogPrimitive.Trigger;
|
|
21
73
|
DialogTrigger.displayName = "DialogTrigger";
|
|
22
74
|
/**
|
|
23
|
-
* DialogPortal - Portal do dialog
|
|
75
|
+
* DialogPortal - Portal do dialog.
|
|
76
|
+
*
|
|
77
|
+
* Componente usado para renderizar o dialog em um portal.
|
|
24
78
|
*/
|
|
25
79
|
const DialogPortal = DialogPrimitive.Portal;
|
|
26
80
|
DialogPortal.displayName = "DialogPortal";
|
|
27
81
|
/**
|
|
28
|
-
* DialogClose - Botão de fechar do dialog
|
|
82
|
+
* DialogClose - Botão de fechar do dialog.
|
|
83
|
+
*
|
|
84
|
+
* Componente usado para fechar o dialog.
|
|
29
85
|
*/
|
|
30
86
|
const DialogClose = DialogPrimitive.Close;
|
|
31
87
|
DialogClose.displayName = "DialogClose";
|
|
32
88
|
/**
|
|
33
|
-
* DialogOverlay - Overlay do dialog
|
|
89
|
+
* DialogOverlay - Overlay do dialog.
|
|
90
|
+
*
|
|
91
|
+
* Componente usado para exibir o overlay escuro atrás do dialog.
|
|
34
92
|
*/
|
|
35
93
|
const DialogOverlay = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Overlay, { ref: ref, className: cn("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", className), ...props })));
|
|
36
94
|
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
@@ -1,7 +1,41 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* HoverCard Component
|
|
2
|
+
* # HoverCard Component
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* O componente `HoverCard` é usado para exibir conteúdo flutuante quando o usuário
|
|
5
|
+
* passa o mouse sobre um elemento. É baseado em Radix UI para garantir acessibilidade completa.
|
|
6
|
+
*
|
|
7
|
+
* ## Características Principais
|
|
8
|
+
*
|
|
9
|
+
* - **Acessível**: Baseado em Radix UI com suporte completo a leitores de tela
|
|
10
|
+
* - **Hover**: Abre automaticamente ao passar o mouse
|
|
11
|
+
* - **Composição**: HoverCard + HoverCardTrigger + HoverCardContent para flexibilidade
|
|
12
|
+
* - **Foco Gerenciado**: Foco e navegação por teclado gerenciados automaticamente
|
|
13
|
+
*
|
|
14
|
+
* ## Uso Básico
|
|
15
|
+
*
|
|
16
|
+
* ```tsx
|
|
17
|
+
* import { HoverCard, HoverCardTrigger, HoverCardContent } from "@flowtomic/ui/components/atoms/feedback/hover-card";
|
|
18
|
+
*
|
|
19
|
+
* function MyComponent() {
|
|
20
|
+
* return (
|
|
21
|
+
* <HoverCard>
|
|
22
|
+
* <HoverCardTrigger>Hover me</HoverCardTrigger>
|
|
23
|
+
* <HoverCardContent>
|
|
24
|
+
* <p>Conteúdo do hover card</p>
|
|
25
|
+
* </HoverCardContent>
|
|
26
|
+
* </HoverCard>
|
|
27
|
+
* );
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* ## Acessibilidade
|
|
32
|
+
*
|
|
33
|
+
* - Suporta navegação por teclado (Tab, Enter, Espaço)
|
|
34
|
+
* - Segue padrões WAI-ARIA via Radix UI
|
|
35
|
+
* - Suporta leitores de tela
|
|
36
|
+
* - Foco gerenciado automaticamente
|
|
37
|
+
*
|
|
38
|
+
* @see [Radix UI Hover Card](https://www.radix-ui.com/primitives/docs/components/hover-card) para mais detalhes
|
|
5
39
|
*/
|
|
6
40
|
import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
|
|
7
41
|
import * as React from "react";
|
|
@@ -9,15 +43,21 @@ export type HoverCardProps = React.ComponentPropsWithoutRef<typeof HoverCardPrim
|
|
|
9
43
|
export type HoverCardTriggerProps = React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Trigger>;
|
|
10
44
|
export type HoverCardContentProps = React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>;
|
|
11
45
|
/**
|
|
12
|
-
* HoverCard - Container principal do hover card
|
|
46
|
+
* HoverCard - Container principal do hover card.
|
|
47
|
+
*
|
|
48
|
+
* Componente usado para gerenciar o estado do hover card.
|
|
13
49
|
*/
|
|
14
50
|
declare const HoverCard: React.FC<HoverCardPrimitive.HoverCardProps>;
|
|
15
51
|
/**
|
|
16
|
-
* HoverCardTrigger - Trigger do hover card
|
|
52
|
+
* HoverCardTrigger - Trigger do hover card.
|
|
53
|
+
*
|
|
54
|
+
* Componente usado como trigger para abrir o hover card ao passar o mouse.
|
|
17
55
|
*/
|
|
18
56
|
declare const HoverCardTrigger: React.ForwardRefExoticComponent<HoverCardPrimitive.HoverCardTriggerProps & React.RefAttributes<HTMLAnchorElement>>;
|
|
19
57
|
/**
|
|
20
|
-
* HoverCardContent - Conteúdo do hover card
|
|
58
|
+
* HoverCardContent - Conteúdo do hover card.
|
|
59
|
+
*
|
|
60
|
+
* Componente usado para exibir o conteúdo do hover card.
|
|
21
61
|
*/
|
|
22
62
|
declare const HoverCardContent: React.ForwardRefExoticComponent<Omit<HoverCardPrimitive.HoverCardContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
23
63
|
export { HoverCard, HoverCardTrigger, HoverCardContent };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hover-card.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/feedback/hover-card/hover-card.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"hover-card.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/feedback/hover-card/hover-card.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,KAAK,kBAAkB,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC5F,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,wBAAwB,CAChE,OAAO,kBAAkB,CAAC,OAAO,CAClC,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,wBAAwB,CAChE,OAAO,kBAAkB,CAAC,OAAO,CAClC,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,SAAS,6CAA0B,CAAC;AAG1C;;;;GAIG;AACH,QAAA,MAAM,gBAAgB,oHAA6B,CAAC;AAGpD;;;;GAIG;AACH,QAAA,MAAM,gBAAgB,oKAcpB,CAAC;AAGH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,24 +1,64 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
|
-
* HoverCard Component
|
|
3
|
+
* # HoverCard Component
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* O componente `HoverCard` é usado para exibir conteúdo flutuante quando o usuário
|
|
6
|
+
* passa o mouse sobre um elemento. É baseado em Radix UI para garantir acessibilidade completa.
|
|
7
|
+
*
|
|
8
|
+
* ## Características Principais
|
|
9
|
+
*
|
|
10
|
+
* - **Acessível**: Baseado em Radix UI com suporte completo a leitores de tela
|
|
11
|
+
* - **Hover**: Abre automaticamente ao passar o mouse
|
|
12
|
+
* - **Composição**: HoverCard + HoverCardTrigger + HoverCardContent para flexibilidade
|
|
13
|
+
* - **Foco Gerenciado**: Foco e navegação por teclado gerenciados automaticamente
|
|
14
|
+
*
|
|
15
|
+
* ## Uso Básico
|
|
16
|
+
*
|
|
17
|
+
* ```tsx
|
|
18
|
+
* import { HoverCard, HoverCardTrigger, HoverCardContent } from "@flowtomic/ui/components/atoms/feedback/hover-card";
|
|
19
|
+
*
|
|
20
|
+
* function MyComponent() {
|
|
21
|
+
* return (
|
|
22
|
+
* <HoverCard>
|
|
23
|
+
* <HoverCardTrigger>Hover me</HoverCardTrigger>
|
|
24
|
+
* <HoverCardContent>
|
|
25
|
+
* <p>Conteúdo do hover card</p>
|
|
26
|
+
* </HoverCardContent>
|
|
27
|
+
* </HoverCard>
|
|
28
|
+
* );
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* ## Acessibilidade
|
|
33
|
+
*
|
|
34
|
+
* - Suporta navegação por teclado (Tab, Enter, Espaço)
|
|
35
|
+
* - Segue padrões WAI-ARIA via Radix UI
|
|
36
|
+
* - Suporta leitores de tela
|
|
37
|
+
* - Foco gerenciado automaticamente
|
|
38
|
+
*
|
|
39
|
+
* @see [Radix UI Hover Card](https://www.radix-ui.com/primitives/docs/components/hover-card) para mais detalhes
|
|
6
40
|
*/
|
|
7
41
|
import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
|
|
8
42
|
import * as React from "react";
|
|
9
43
|
import { cn } from "@/lib/utils";
|
|
10
44
|
/**
|
|
11
|
-
* HoverCard - Container principal do hover card
|
|
45
|
+
* HoverCard - Container principal do hover card.
|
|
46
|
+
*
|
|
47
|
+
* Componente usado para gerenciar o estado do hover card.
|
|
12
48
|
*/
|
|
13
49
|
const HoverCard = HoverCardPrimitive.Root;
|
|
14
50
|
HoverCard.displayName = "HoverCard";
|
|
15
51
|
/**
|
|
16
|
-
* HoverCardTrigger - Trigger do hover card
|
|
52
|
+
* HoverCardTrigger - Trigger do hover card.
|
|
53
|
+
*
|
|
54
|
+
* Componente usado como trigger para abrir o hover card ao passar o mouse.
|
|
17
55
|
*/
|
|
18
56
|
const HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
19
57
|
HoverCardTrigger.displayName = "HoverCardTrigger";
|
|
20
58
|
/**
|
|
21
|
-
* HoverCardContent - Conteúdo do hover card
|
|
59
|
+
* HoverCardContent - Conteúdo do hover card.
|
|
60
|
+
*
|
|
61
|
+
* Componente usado para exibir o conteúdo do hover card.
|
|
22
62
|
*/
|
|
23
63
|
const HoverCardContent = React.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => (_jsx(HoverCardPrimitive.Content, { ref: ref, align: align, sideOffset: sideOffset, className: cn("z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none 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", className), ...props })));
|
|
24
64
|
HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
|
|
@@ -1,7 +1,58 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* InlineCitation Component
|
|
2
|
+
* # InlineCitation Component
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* O componente `InlineCitation` é usado para exibir citações inline com hover card
|
|
5
|
+
* que mostra informações detalhadas sobre as fontes. É útil para documentos acadêmicos,
|
|
6
|
+
* artigos e conteúdo que requer referências.
|
|
7
|
+
*
|
|
8
|
+
* ## Características Principais
|
|
9
|
+
*
|
|
10
|
+
* - **Hover Card**: Exibe informações detalhadas ao passar o mouse
|
|
11
|
+
* - **Múltiplas Fontes**: Suporta múltiplas fontes com badge
|
|
12
|
+
* - **Composição**: Múltiplos sub-componentes para flexibilidade
|
|
13
|
+
* - **Acessível**: Baseado em HoverCard (Radix UI) para acessibilidade
|
|
14
|
+
*
|
|
15
|
+
* ## Componentes
|
|
16
|
+
*
|
|
17
|
+
* - **InlineCitation**: Container principal
|
|
18
|
+
* - **InlineCitationText**: Texto da citação
|
|
19
|
+
* - **InlineCitationCard**: Card com hover (wrapper do HoverCard)
|
|
20
|
+
* - **InlineCitationCardTrigger**: Trigger com badge mostrando fonte
|
|
21
|
+
* - **InlineCitationCardBody**: Corpo do card
|
|
22
|
+
* - **InlineCitationSource**: Fonte individual com título, URL e descrição
|
|
23
|
+
* - **InlineCitationQuote**: Citação em formato blockquote
|
|
24
|
+
*
|
|
25
|
+
* ## Uso Básico
|
|
26
|
+
*
|
|
27
|
+
* ```tsx
|
|
28
|
+
* import { InlineCitation, InlineCitationText, InlineCitationCard, InlineCitationCardTrigger, InlineCitationCardBody, InlineCitationSource } from "@flowtomic/ui/components/atoms/feedback/inline-citation";
|
|
29
|
+
*
|
|
30
|
+
* function MyComponent() {
|
|
31
|
+
* return (
|
|
32
|
+
* <InlineCitation>
|
|
33
|
+
* <InlineCitationText>Texto com citação</InlineCitationText>
|
|
34
|
+
* <InlineCitationCard>
|
|
35
|
+
* <InlineCitationCardTrigger sources={["https://example.com"]} />
|
|
36
|
+
* <InlineCitationCardBody>
|
|
37
|
+
* <InlineCitationSource
|
|
38
|
+
* title="Título da Fonte"
|
|
39
|
+
* url="https://example.com"
|
|
40
|
+
* description="Descrição da fonte"
|
|
41
|
+
* />
|
|
42
|
+
* </InlineCitationCardBody>
|
|
43
|
+
* </InlineCitationCard>
|
|
44
|
+
* </InlineCitation>
|
|
45
|
+
* );
|
|
46
|
+
* }
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* ## Acessibilidade
|
|
50
|
+
*
|
|
51
|
+
* - Baseado em HoverCard (Radix UI) para acessibilidade
|
|
52
|
+
* - Suporta leitores de tela
|
|
53
|
+
* - Navegação por teclado
|
|
54
|
+
*
|
|
55
|
+
* @see [HoverCard Component](../hover-card/hover-card.tsx) para mais detalhes sobre o hover card
|
|
5
56
|
*/
|
|
6
57
|
import * as React from "react";
|
|
7
58
|
import { Badge } from "../../actions/badge";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-citation.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/feedback/inline-citation/inline-citation.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"inline-citation.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/feedback/inline-citation/inline-citation.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAsC,MAAM,eAAe,CAAC;AAE9E,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAE/D,eAAO,MAAM,cAAc,sKAI1B,CAAC;AAGF,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAEnE,eAAO,MAAM,kBAAkB,sKAQ9B,CAAC;AAGF,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC;AAE7E,eAAO,MAAM,kBAAkB;YAAW,uBAAuB;;CAEhE,CAAC;AAGF,MAAM,MAAM,8BAA8B,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,GAAG;IAChF,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,yBAAyB,oHAepC,CAAC;AAGH,MAAM,MAAM,2BAA2B,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAEtE,eAAO,MAAM,sBAAsB,mKAIlC,CAAC;AAGF,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,oBAAoB,+GAWhC,CAAC;AAGF,MAAM,MAAM,wBAAwB,GAAG,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;AAE1E,eAAO,MAAM,mBAAmB,mLAU/B,CAAC"}
|
|
@@ -1,8 +1,59 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
|
-
* InlineCitation Component
|
|
3
|
+
* # InlineCitation Component
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* O componente `InlineCitation` é usado para exibir citações inline com hover card
|
|
6
|
+
* que mostra informações detalhadas sobre as fontes. É útil para documentos acadêmicos,
|
|
7
|
+
* artigos e conteúdo que requer referências.
|
|
8
|
+
*
|
|
9
|
+
* ## Características Principais
|
|
10
|
+
*
|
|
11
|
+
* - **Hover Card**: Exibe informações detalhadas ao passar o mouse
|
|
12
|
+
* - **Múltiplas Fontes**: Suporta múltiplas fontes com badge
|
|
13
|
+
* - **Composição**: Múltiplos sub-componentes para flexibilidade
|
|
14
|
+
* - **Acessível**: Baseado em HoverCard (Radix UI) para acessibilidade
|
|
15
|
+
*
|
|
16
|
+
* ## Componentes
|
|
17
|
+
*
|
|
18
|
+
* - **InlineCitation**: Container principal
|
|
19
|
+
* - **InlineCitationText**: Texto da citação
|
|
20
|
+
* - **InlineCitationCard**: Card com hover (wrapper do HoverCard)
|
|
21
|
+
* - **InlineCitationCardTrigger**: Trigger com badge mostrando fonte
|
|
22
|
+
* - **InlineCitationCardBody**: Corpo do card
|
|
23
|
+
* - **InlineCitationSource**: Fonte individual com título, URL e descrição
|
|
24
|
+
* - **InlineCitationQuote**: Citação em formato blockquote
|
|
25
|
+
*
|
|
26
|
+
* ## Uso Básico
|
|
27
|
+
*
|
|
28
|
+
* ```tsx
|
|
29
|
+
* import { InlineCitation, InlineCitationText, InlineCitationCard, InlineCitationCardTrigger, InlineCitationCardBody, InlineCitationSource } from "@flowtomic/ui/components/atoms/feedback/inline-citation";
|
|
30
|
+
*
|
|
31
|
+
* function MyComponent() {
|
|
32
|
+
* return (
|
|
33
|
+
* <InlineCitation>
|
|
34
|
+
* <InlineCitationText>Texto com citação</InlineCitationText>
|
|
35
|
+
* <InlineCitationCard>
|
|
36
|
+
* <InlineCitationCardTrigger sources={["https://example.com"]} />
|
|
37
|
+
* <InlineCitationCardBody>
|
|
38
|
+
* <InlineCitationSource
|
|
39
|
+
* title="Título da Fonte"
|
|
40
|
+
* url="https://example.com"
|
|
41
|
+
* description="Descrição da fonte"
|
|
42
|
+
* />
|
|
43
|
+
* </InlineCitationCardBody>
|
|
44
|
+
* </InlineCitationCard>
|
|
45
|
+
* </InlineCitation>
|
|
46
|
+
* );
|
|
47
|
+
* }
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* ## Acessibilidade
|
|
51
|
+
*
|
|
52
|
+
* - Baseado em HoverCard (Radix UI) para acessibilidade
|
|
53
|
+
* - Suporta leitores de tela
|
|
54
|
+
* - Navegação por teclado
|
|
55
|
+
*
|
|
56
|
+
* @see [HoverCard Component](../hover-card/hover-card.tsx) para mais detalhes sobre o hover card
|
|
6
57
|
*/
|
|
7
58
|
import * as React from "react";
|
|
8
59
|
import { cn } from "@/lib/utils";
|
|
@@ -1,21 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* # Popover Component
|
|
3
|
+
*
|
|
4
|
+
* O componente `Popover` é usado para exibir conteúdo flutuante que aparece
|
|
5
|
+
* quando o usuário clica em um trigger. É baseado em Radix UI para garantir
|
|
6
|
+
* acessibilidade completa.
|
|
7
|
+
*
|
|
8
|
+
* ## Características Principais
|
|
9
|
+
*
|
|
10
|
+
* - **Acessível**: Baseado em Radix UI com suporte completo a leitores de tela
|
|
11
|
+
* - **Posicionamento**: Suporta alinhamento e offset customizáveis
|
|
12
|
+
* - **Composição**: Popover + PopoverTrigger + PopoverContent para flexibilidade
|
|
13
|
+
* - **Foco Gerenciado**: Foco e navegação por teclado gerenciados automaticamente
|
|
14
|
+
*
|
|
15
|
+
* ## Uso Básico
|
|
16
|
+
*
|
|
17
|
+
* ```tsx
|
|
18
|
+
* import { Popover, PopoverTrigger, PopoverContent } from "@flowtomic/ui/components/atoms/feedback/popover";
|
|
19
|
+
*
|
|
20
|
+
* function MyComponent() {
|
|
21
|
+
* return (
|
|
22
|
+
* <Popover>
|
|
23
|
+
* <PopoverTrigger>Open</PopoverTrigger>
|
|
24
|
+
* <PopoverContent>
|
|
25
|
+
* <p>Conteúdo do popover</p>
|
|
26
|
+
* </PopoverContent>
|
|
27
|
+
* </Popover>
|
|
28
|
+
* );
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* ## Acessibilidade
|
|
33
|
+
*
|
|
34
|
+
* - Suporta navegação por teclado (Tab, Escape)
|
|
35
|
+
* - Segue padrões WAI-ARIA via Radix UI
|
|
36
|
+
* - Suporta leitores de tela
|
|
37
|
+
* - Foco gerenciado automaticamente
|
|
38
|
+
*
|
|
39
|
+
* @see [Radix UI Popover](https://www.radix-ui.com/primitives/docs/components/popover) para mais detalhes
|
|
40
|
+
*/
|
|
1
41
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
2
42
|
import type * as React from "react";
|
|
43
|
+
/**
|
|
44
|
+
* Props do componente Popover.
|
|
45
|
+
*/
|
|
3
46
|
export interface PopoverProps extends React.ComponentProps<typeof PopoverPrimitive.Root> {
|
|
4
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Popover - Container principal do popover.
|
|
50
|
+
*
|
|
51
|
+
* Componente usado para exibir conteúdo flutuante quando o usuário clica em um trigger.
|
|
52
|
+
*
|
|
53
|
+
* @param {PopoverProps} props - Props do componente
|
|
54
|
+
* @returns {JSX.Element} Componente Popover
|
|
55
|
+
*/
|
|
5
56
|
declare function Popover({ ...props }: PopoverProps): import("react/jsx-runtime").JSX.Element;
|
|
6
57
|
declare namespace Popover {
|
|
7
58
|
var displayName: string;
|
|
8
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Props do componente PopoverTrigger.
|
|
62
|
+
*/
|
|
9
63
|
export interface PopoverTriggerProps extends React.ComponentProps<typeof PopoverPrimitive.Trigger> {
|
|
10
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* PopoverTrigger - Trigger do popover.
|
|
67
|
+
*
|
|
68
|
+
* Componente usado como trigger para abrir o popover.
|
|
69
|
+
*
|
|
70
|
+
* @param {PopoverTriggerProps} props - Props do componente
|
|
71
|
+
* @returns {JSX.Element} Componente PopoverTrigger
|
|
72
|
+
*/
|
|
11
73
|
declare function PopoverTrigger({ ...props }: PopoverTriggerProps): import("react/jsx-runtime").JSX.Element;
|
|
12
74
|
declare namespace PopoverTrigger {
|
|
13
75
|
var displayName: string;
|
|
14
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Props do componente PopoverContent.
|
|
79
|
+
*
|
|
80
|
+
* @property {'start' | 'center' | 'end'} [align='center'] - Alinhamento do popover
|
|
81
|
+
* @property {number} [sideOffset=4] - Offset em pixels do lado do popover
|
|
82
|
+
*/
|
|
15
83
|
export interface PopoverContentProps extends React.ComponentProps<typeof PopoverPrimitive.Content> {
|
|
84
|
+
/** Alinhamento do popover */
|
|
16
85
|
align?: "start" | "center" | "end";
|
|
86
|
+
/** Offset em pixels do lado do popover */
|
|
17
87
|
sideOffset?: number;
|
|
18
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* PopoverContent - Conteúdo do popover.
|
|
91
|
+
*
|
|
92
|
+
* Componente usado para exibir o conteúdo do popover.
|
|
93
|
+
*
|
|
94
|
+
* @param {PopoverContentProps} props - Props do componente
|
|
95
|
+
* @returns {JSX.Element} Componente PopoverContent
|
|
96
|
+
*/
|
|
19
97
|
declare function PopoverContent({ className, align, sideOffset, ...props }: PopoverContentProps): import("react/jsx-runtime").JSX.Element;
|
|
20
98
|
declare namespace PopoverContent {
|
|
21
99
|
var displayName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/feedback/popover/popover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAGpC,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC;CAAG;AAE3F,iBAAS,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,2CAE1C;kBAFQ,OAAO;;;AAMhB,MAAM,WAAW,mBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC;CAAG;AAElE,iBAAS,cAAc,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,2CAExD;kBAFQ,cAAc;;;AAMvB,MAAM,WAAW,mBAAoB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC;IAChG,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,iBAAS,cAAc,CAAC,EACtB,SAAS,EACT,KAAgB,EAChB,UAAc,EACd,GAAG,KAAK,EACT,EAAE,mBAAmB,2CAerB;kBApBQ,cAAc;;;AAwBvB,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,MAAM,CAAC;CAAG;AAEnG,iBAAS,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,2CAEtD;kBAFQ,aAAa;;;AAMtB,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/feedback/popover/popover.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAGpC;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC;CAAG;AAE3F;;;;;;;GAOG;AACH,iBAAS,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,2CAE1C;kBAFQ,OAAO;;;AAMhB;;GAEG;AACH,MAAM,WAAW,mBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC;CAAG;AAElE;;;;;;;GAOG;AACH,iBAAS,cAAc,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,2CAExD;kBAFQ,cAAc;;;AAMvB;;;;;GAKG;AACH,MAAM,WAAW,mBAAoB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC;IAChG,6BAA6B;IAC7B,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,iBAAS,cAAc,CAAC,EACtB,SAAS,EACT,KAAgB,EAChB,UAAc,EACd,GAAG,KAAK,EACT,EAAE,mBAAmB,2CAerB;kBApBQ,cAAc;;;AAwBvB,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,MAAM,CAAC;CAAG;AAEnG,iBAAS,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,2CAEtD;kBAFQ,aAAa;;;AAMtB,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
|