@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,7 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* # AspectRatio Component
|
|
3
|
+
*
|
|
4
|
+
* O componente `AspectRatio` é usado para manter uma proporção específica
|
|
5
|
+
* de largura para altura em um elemento. É útil para imagens, vídeos e outros
|
|
6
|
+
* elementos que precisam manter proporções consistentes.
|
|
7
|
+
*
|
|
8
|
+
* ## Características Principais
|
|
9
|
+
*
|
|
10
|
+
* - **Proporção Fixa**: Mantém proporção específica independente do conteúdo
|
|
11
|
+
* - **Responsivo**: Ajusta automaticamente ao tamanho do container
|
|
12
|
+
* - **Acessível**: Baseado em Radix UI
|
|
13
|
+
*
|
|
14
|
+
* ## Uso Básico
|
|
15
|
+
*
|
|
16
|
+
* ```tsx
|
|
17
|
+
* import { AspectRatio } from "@flowtomic/ui/components/atoms/layout/aspect-ratio";
|
|
18
|
+
*
|
|
19
|
+
* function MyComponent() {
|
|
20
|
+
* return (
|
|
21
|
+
* <AspectRatio ratio={16 / 9}>
|
|
22
|
+
* <img src="image.jpg" alt="Imagem" />
|
|
23
|
+
* </AspectRatio>
|
|
24
|
+
* );
|
|
25
|
+
* }
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* ## Proporções Comuns
|
|
29
|
+
*
|
|
30
|
+
* - **16:9**: Vídeos widescreen (padrão YouTube)
|
|
31
|
+
* - **4:3**: Vídeos tradicionais
|
|
32
|
+
* - **1:1**: Quadrado (Instagram)
|
|
33
|
+
* - **21:9**: Ultra-wide
|
|
34
|
+
*
|
|
35
|
+
* ## Acessibilidade
|
|
36
|
+
*
|
|
37
|
+
* - Baseado em Radix UI para acessibilidade
|
|
38
|
+
* - Mantém estrutura semântica do conteúdo
|
|
39
|
+
*
|
|
40
|
+
* @see [Radix UI Aspect Ratio](https://www.radix-ui.com/primitives/docs/components/aspect-ratio) para mais detalhes
|
|
41
|
+
*/
|
|
1
42
|
import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
|
|
2
43
|
import type * as React from "react";
|
|
44
|
+
/**
|
|
45
|
+
* Props do componente AspectRatio.
|
|
46
|
+
*
|
|
47
|
+
* @property {number} ratio - Proporção de largura para altura (ex: 16/9, 4/3, 1/1)
|
|
48
|
+
*/
|
|
3
49
|
export interface AspectRatioProps extends React.ComponentProps<typeof AspectRatioPrimitive.Root> {
|
|
4
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* AspectRatio - Container com proporção fixa.
|
|
53
|
+
*
|
|
54
|
+
* Componente usado para manter uma proporção específica de largura para altura.
|
|
55
|
+
*
|
|
56
|
+
* @param {AspectRatioProps} props - Props do componente
|
|
57
|
+
* @returns {JSX.Element} Componente AspectRatio
|
|
58
|
+
*/
|
|
5
59
|
declare function AspectRatio({ ...props }: AspectRatioProps): import("react/jsx-runtime").JSX.Element;
|
|
6
60
|
declare namespace AspectRatio {
|
|
7
61
|
var displayName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aspect-ratio.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/layout/aspect-ratio/aspect-ratio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC;CAAG;AAEnG,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAElD;kBAFQ,WAAW;;;AAMpB,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"aspect-ratio.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/layout/aspect-ratio/aspect-ratio.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC;;;;GAIG;AACH,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC;CAAG;AAEnG;;;;;;;GAOG;AACH,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAElD;kBAFQ,WAAW;;;AAMpB,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -1,5 +1,54 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* # AspectRatio Component
|
|
4
|
+
*
|
|
5
|
+
* O componente `AspectRatio` é usado para manter uma proporção específica
|
|
6
|
+
* de largura para altura em um elemento. É útil para imagens, vídeos e outros
|
|
7
|
+
* elementos que precisam manter proporções consistentes.
|
|
8
|
+
*
|
|
9
|
+
* ## Características Principais
|
|
10
|
+
*
|
|
11
|
+
* - **Proporção Fixa**: Mantém proporção específica independente do conteúdo
|
|
12
|
+
* - **Responsivo**: Ajusta automaticamente ao tamanho do container
|
|
13
|
+
* - **Acessível**: Baseado em Radix UI
|
|
14
|
+
*
|
|
15
|
+
* ## Uso Básico
|
|
16
|
+
*
|
|
17
|
+
* ```tsx
|
|
18
|
+
* import { AspectRatio } from "@flowtomic/ui/components/atoms/layout/aspect-ratio";
|
|
19
|
+
*
|
|
20
|
+
* function MyComponent() {
|
|
21
|
+
* return (
|
|
22
|
+
* <AspectRatio ratio={16 / 9}>
|
|
23
|
+
* <img src="image.jpg" alt="Imagem" />
|
|
24
|
+
* </AspectRatio>
|
|
25
|
+
* );
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* ## Proporções Comuns
|
|
30
|
+
*
|
|
31
|
+
* - **16:9**: Vídeos widescreen (padrão YouTube)
|
|
32
|
+
* - **4:3**: Vídeos tradicionais
|
|
33
|
+
* - **1:1**: Quadrado (Instagram)
|
|
34
|
+
* - **21:9**: Ultra-wide
|
|
35
|
+
*
|
|
36
|
+
* ## Acessibilidade
|
|
37
|
+
*
|
|
38
|
+
* - Baseado em Radix UI para acessibilidade
|
|
39
|
+
* - Mantém estrutura semântica do conteúdo
|
|
40
|
+
*
|
|
41
|
+
* @see [Radix UI Aspect Ratio](https://www.radix-ui.com/primitives/docs/components/aspect-ratio) para mais detalhes
|
|
42
|
+
*/
|
|
2
43
|
import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
|
|
44
|
+
/**
|
|
45
|
+
* AspectRatio - Container com proporção fixa.
|
|
46
|
+
*
|
|
47
|
+
* Componente usado para manter uma proporção específica de largura para altura.
|
|
48
|
+
*
|
|
49
|
+
* @param {AspectRatioProps} props - Props do componente
|
|
50
|
+
* @returns {JSX.Element} Componente AspectRatio
|
|
51
|
+
*/
|
|
3
52
|
function AspectRatio({ ...props }) {
|
|
4
53
|
return _jsx(AspectRatioPrimitive.Root, { "data-slot": "aspect-ratio", ...props });
|
|
5
54
|
}
|
|
@@ -1,7 +1,43 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Collapsible Component
|
|
2
|
+
* # Collapsible Component
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* O componente `Collapsible` é usado para exibir conteúdo que pode ser
|
|
5
|
+
* expandido ou colapsado. É 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**: Collapsible + CollapsibleTrigger + CollapsibleContent
|
|
11
|
+
* - **Animações**: Animações suaves de abertura/fechamento
|
|
12
|
+
* - **Foco Gerenciado**: Foco e navegação por teclado gerenciados automaticamente
|
|
13
|
+
*
|
|
14
|
+
* ## Uso Básico
|
|
15
|
+
*
|
|
16
|
+
* ```tsx
|
|
17
|
+
* import { Collapsible, CollapsibleTrigger, CollapsibleContent } from "@flowtomic/ui/components/atoms/layout/collapsible";
|
|
18
|
+
*
|
|
19
|
+
* function MyComponent() {
|
|
20
|
+
* const [open, setOpen] = React.useState(false);
|
|
21
|
+
*
|
|
22
|
+
* return (
|
|
23
|
+
* <Collapsible open={open} onOpenChange={setOpen}>
|
|
24
|
+
* <CollapsibleTrigger>Toggle</CollapsibleTrigger>
|
|
25
|
+
* <CollapsibleContent>
|
|
26
|
+
* Conteúdo colapsável
|
|
27
|
+
* </CollapsibleContent>
|
|
28
|
+
* </Collapsible>
|
|
29
|
+
* );
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* ## Acessibilidade
|
|
34
|
+
*
|
|
35
|
+
* - Suporta navegação por teclado (Tab, Enter, Espaço)
|
|
36
|
+
* - Segue padrões WAI-ARIA via Radix UI
|
|
37
|
+
* - Suporta leitores de tela
|
|
38
|
+
* - Foco gerenciado automaticamente
|
|
39
|
+
*
|
|
40
|
+
* @see [Radix UI Collapsible](https://www.radix-ui.com/primitives/docs/components/collapsible) para mais detalhes
|
|
5
41
|
*/
|
|
6
42
|
import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
|
|
7
43
|
import * as React from "react";
|
|
@@ -9,15 +45,21 @@ export type CollapsibleProps = React.ComponentPropsWithoutRef<typeof Collapsible
|
|
|
9
45
|
export type CollapsibleTriggerProps = React.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Trigger>;
|
|
10
46
|
export type CollapsibleContentProps = React.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Content>;
|
|
11
47
|
/**
|
|
12
|
-
* Collapsible - Container principal do collapsible
|
|
48
|
+
* Collapsible - Container principal do collapsible.
|
|
49
|
+
*
|
|
50
|
+
* Componente usado para gerenciar o estado do collapsible.
|
|
13
51
|
*/
|
|
14
52
|
declare const Collapsible: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleProps & React.RefAttributes<HTMLDivElement>>;
|
|
15
53
|
/**
|
|
16
|
-
* CollapsibleTrigger - Trigger do collapsible
|
|
54
|
+
* CollapsibleTrigger - Trigger do collapsible.
|
|
55
|
+
*
|
|
56
|
+
* Componente usado como trigger para abrir/fechar o collapsible.
|
|
17
57
|
*/
|
|
18
58
|
declare const CollapsibleTrigger: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
19
59
|
/**
|
|
20
|
-
* CollapsibleContent - Conteúdo do collapsible
|
|
60
|
+
* CollapsibleContent - Conteúdo do collapsible.
|
|
61
|
+
*
|
|
62
|
+
* Componente usado para exibir o conteúdo quando o collapsible está aberto.
|
|
21
63
|
*/
|
|
22
64
|
declare const CollapsibleContent: React.ForwardRefExoticComponent<Omit<CollapsiblePrimitive.CollapsibleContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
23
65
|
export { Collapsible, CollapsibleTrigger, CollapsibleContent };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collapsible.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/layout/collapsible/collapsible.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"collapsible.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/layout/collapsible/collapsible.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAChG,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,wBAAwB,CAClE,OAAO,oBAAoB,CAAC,OAAO,CACpC,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,wBAAwB,CAClE,OAAO,oBAAoB,CAAC,OAAO,CACpC,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,WAAW,8GAA4B,CAAC;AAG9C;;;;GAIG;AACH,QAAA,MAAM,kBAAkB,wHAA+B,CAAC;AAGxD;;;;GAIG;AACH,QAAA,MAAM,kBAAkB,wKAYtB,CAAC;AAGH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -1,24 +1,66 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
|
-
* Collapsible Component
|
|
3
|
+
* # Collapsible Component
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* O componente `Collapsible` é usado para exibir conteúdo que pode ser
|
|
6
|
+
* expandido ou colapsado. É 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**: Collapsible + CollapsibleTrigger + CollapsibleContent
|
|
12
|
+
* - **Animações**: Animações suaves de abertura/fechamento
|
|
13
|
+
* - **Foco Gerenciado**: Foco e navegação por teclado gerenciados automaticamente
|
|
14
|
+
*
|
|
15
|
+
* ## Uso Básico
|
|
16
|
+
*
|
|
17
|
+
* ```tsx
|
|
18
|
+
* import { Collapsible, CollapsibleTrigger, CollapsibleContent } from "@flowtomic/ui/components/atoms/layout/collapsible";
|
|
19
|
+
*
|
|
20
|
+
* function MyComponent() {
|
|
21
|
+
* const [open, setOpen] = React.useState(false);
|
|
22
|
+
*
|
|
23
|
+
* return (
|
|
24
|
+
* <Collapsible open={open} onOpenChange={setOpen}>
|
|
25
|
+
* <CollapsibleTrigger>Toggle</CollapsibleTrigger>
|
|
26
|
+
* <CollapsibleContent>
|
|
27
|
+
* Conteúdo colapsável
|
|
28
|
+
* </CollapsibleContent>
|
|
29
|
+
* </Collapsible>
|
|
30
|
+
* );
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* ## Acessibilidade
|
|
35
|
+
*
|
|
36
|
+
* - Suporta navegação por teclado (Tab, Enter, Espaço)
|
|
37
|
+
* - Segue padrões WAI-ARIA via Radix UI
|
|
38
|
+
* - Suporta leitores de tela
|
|
39
|
+
* - Foco gerenciado automaticamente
|
|
40
|
+
*
|
|
41
|
+
* @see [Radix UI Collapsible](https://www.radix-ui.com/primitives/docs/components/collapsible) para mais detalhes
|
|
6
42
|
*/
|
|
7
43
|
import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
|
|
8
44
|
import * as React from "react";
|
|
9
45
|
import { cn } from "@/lib/utils";
|
|
10
46
|
/**
|
|
11
|
-
* Collapsible - Container principal do collapsible
|
|
47
|
+
* Collapsible - Container principal do collapsible.
|
|
48
|
+
*
|
|
49
|
+
* Componente usado para gerenciar o estado do collapsible.
|
|
12
50
|
*/
|
|
13
51
|
const Collapsible = CollapsiblePrimitive.Root;
|
|
14
52
|
Collapsible.displayName = "Collapsible";
|
|
15
53
|
/**
|
|
16
|
-
* CollapsibleTrigger - Trigger do collapsible
|
|
54
|
+
* CollapsibleTrigger - Trigger do collapsible.
|
|
55
|
+
*
|
|
56
|
+
* Componente usado como trigger para abrir/fechar o collapsible.
|
|
17
57
|
*/
|
|
18
58
|
const CollapsibleTrigger = CollapsiblePrimitive.Trigger;
|
|
19
59
|
CollapsibleTrigger.displayName = "CollapsibleTrigger";
|
|
20
60
|
/**
|
|
21
|
-
* CollapsibleContent - Conteúdo do collapsible
|
|
61
|
+
* CollapsibleContent - Conteúdo do collapsible.
|
|
62
|
+
*
|
|
63
|
+
* Componente usado para exibir o conteúdo quando o collapsible está aberto.
|
|
22
64
|
*/
|
|
23
65
|
const CollapsibleContent = React.forwardRef(({ className, ...props }, ref) => (_jsx(CollapsiblePrimitive.Content, { ref: ref, className: cn("overflow-hidden data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down", className), ...props })));
|
|
24
66
|
CollapsibleContent.displayName = CollapsiblePrimitive.Content.displayName;
|
|
@@ -1,3 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* # Drawer Component
|
|
3
|
+
*
|
|
4
|
+
* O componente `Drawer` é usado para exibir conteúdo em um painel deslizante
|
|
5
|
+
* que aparece da borda da tela. É baseado em Vaul para garantir acessibilidade
|
|
6
|
+
* e gestos de arrastar.
|
|
7
|
+
*
|
|
8
|
+
* ## Características Principais
|
|
9
|
+
*
|
|
10
|
+
* - **Acessível**: Baseado em Vaul com suporte completo a leitores de tela
|
|
11
|
+
* - **Direções**: Suporta abertura de qualquer lado (top, bottom, left, right)
|
|
12
|
+
* - **Gestos**: Suporta arrastar para fechar (drag to dismiss)
|
|
13
|
+
* - **Composição**: Múltiplos sub-componentes para flexibilidade
|
|
14
|
+
* - **Overlay**: Overlay escuro por padrão
|
|
15
|
+
*
|
|
16
|
+
* ## Componentes
|
|
17
|
+
*
|
|
18
|
+
* - **Drawer**: Container principal
|
|
19
|
+
* - **DrawerTrigger**: Trigger para abrir o drawer
|
|
20
|
+
* - **DrawerContent**: Conteúdo do drawer
|
|
21
|
+
* - **DrawerHeader**: Cabeçalho do drawer
|
|
22
|
+
* - **DrawerFooter**: Rodapé do drawer
|
|
23
|
+
* - **DrawerTitle**: Título do drawer
|
|
24
|
+
* - **DrawerDescription**: Descrição do drawer
|
|
25
|
+
* - **DrawerClose**: Botão de fechar
|
|
26
|
+
*
|
|
27
|
+
* ## Uso Básico
|
|
28
|
+
*
|
|
29
|
+
* ```tsx
|
|
30
|
+
* import { Drawer, DrawerTrigger, DrawerContent, DrawerHeader, DrawerTitle } from "@flowtomic/ui/components/atoms/layout/drawer";
|
|
31
|
+
*
|
|
32
|
+
* function MyComponent() {
|
|
33
|
+
* return (
|
|
34
|
+
* <Drawer>
|
|
35
|
+
* <DrawerTrigger>Open Drawer</DrawerTrigger>
|
|
36
|
+
* <DrawerContent>
|
|
37
|
+
* <DrawerHeader>
|
|
38
|
+
* <DrawerTitle>Drawer Title</DrawerTitle>
|
|
39
|
+
* </DrawerHeader>
|
|
40
|
+
* </DrawerContent>
|
|
41
|
+
* </Drawer>
|
|
42
|
+
* );
|
|
43
|
+
* }
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* ## Acessibilidade
|
|
47
|
+
*
|
|
48
|
+
* - Suporta navegação por teclado (Tab, Escape)
|
|
49
|
+
* - Segue padrões WAI-ARIA
|
|
50
|
+
* - Suporta leitores de tela
|
|
51
|
+
* - Foco gerenciado automaticamente
|
|
52
|
+
* - Foco retorna ao trigger quando fechado
|
|
53
|
+
*
|
|
54
|
+
* @see [Vaul Documentation](https://vaul.emilkowal.ski/) para mais detalhes
|
|
55
|
+
*/
|
|
1
56
|
import type * as React from "react";
|
|
2
57
|
import { Drawer as DrawerPrimitive } from "vaul";
|
|
3
58
|
export type DrawerProps = React.ComponentProps<typeof DrawerPrimitive.Root>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/layout/drawer/drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,MAAM,CAAC;AAGjD,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAE5E,iBAAS,MAAM,CAAC,KAAK,EAAE,WAAW,2CAEjC;kBAFQ,MAAM;;;AAMf,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAEtF,iBAAS,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CAE/C;kBAFQ,aAAa;;;AAMtB,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAEpF,iBAAS,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CAE7C;kBAFQ,YAAY;;;AAMrB,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAElF,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAE3C;kBAFQ,WAAW;;;AAMpB,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAEtF,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,2CAWjE;kBAXQ,aAAa;;;AAetB,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAEtF,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,2CAqB3E;kBArBQ,aAAa;;;AAyBtB,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;CAAG;AAEzE,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAW/D;kBAXQ,YAAY;;;AAerB,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;CAAG;AAEzE,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAQ/D;kBARQ,YAAY;;;AAYrB,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAElF,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAQ7D;kBARQ,WAAW;;;AAYpB,MAAM,MAAM,sBAAsB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC;AAE9F,iBAAS,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,2CAQzE;kBARQ,iBAAiB;;;AAY1B,OAAO,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"drawer.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/layout/drawer/drawer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,MAAM,CAAC;AAGjD,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAE5E,iBAAS,MAAM,CAAC,KAAK,EAAE,WAAW,2CAEjC;kBAFQ,MAAM;;;AAMf,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAEtF,iBAAS,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CAE/C;kBAFQ,aAAa;;;AAMtB,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAEpF,iBAAS,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CAE7C;kBAFQ,YAAY;;;AAMrB,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAElF,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAE3C;kBAFQ,WAAW;;;AAMpB,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAEtF,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,2CAWjE;kBAXQ,aAAa;;;AAetB,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAEtF,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,2CAqB3E;kBArBQ,aAAa;;;AAyBtB,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;CAAG;AAEzE,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAW/D;kBAXQ,YAAY;;;AAerB,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;CAAG;AAEzE,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAQ/D;kBARQ,YAAY;;;AAYrB,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAElF,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAQ7D;kBARQ,WAAW;;;AAYpB,MAAM,MAAM,sBAAsB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC;AAE9F,iBAAS,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,2CAQzE;kBARQ,iBAAiB;;;AAY1B,OAAO,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,CAAC"}
|
|
@@ -13,4 +13,6 @@ export type { SidebarContentProps, SidebarFooterProps, SidebarGroupContentProps,
|
|
|
13
13
|
export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarProvider, SidebarSeparator, SidebarTrigger, useSidebar, } from "./sidebar";
|
|
14
14
|
export type { ToggleGroupItemProps, ToggleGroupProps } from "./toggle-group";
|
|
15
15
|
export { ToggleGroup, ToggleGroupItem } from "./toggle-group";
|
|
16
|
+
export type { WidgetResizeHandleProps } from "./widget-resize-handle";
|
|
17
|
+
export { WidgetResizeHandle } from "./widget-resize-handle";
|
|
16
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/layout/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3F,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EACV,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACpF,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACnF,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1E,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,OAAO,EACP,cAAc,EACd,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,UAAU,GACX,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/layout/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3F,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EACV,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACpF,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACnF,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1E,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,OAAO,EACP,cAAc,EACd,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,UAAU,GACX,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC9D,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -6,3 +6,4 @@ export { ResizableHandle, ResizablePanel, ResizablePanelGroup } from "./resizabl
|
|
|
6
6
|
export { ScrollArea, ScrollAreaViewport, ScrollBar } from "./scroll-area";
|
|
7
7
|
export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarProvider, SidebarSeparator, SidebarTrigger, useSidebar, } from "./sidebar";
|
|
8
8
|
export { ToggleGroup, ToggleGroupItem } from "./toggle-group";
|
|
9
|
+
export { WidgetResizeHandle } from "./widget-resize-handle";
|
|
@@ -1,9 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* # Resizable Component
|
|
3
|
+
*
|
|
4
|
+
* O componente `Resizable` é usado para criar painéis redimensionáveis que
|
|
5
|
+
* podem ser ajustados pelo usuário arrastando as bordas. É baseado em
|
|
6
|
+
* react-resizable-panels para funcionalidade completa.
|
|
7
|
+
*
|
|
8
|
+
* ## Características Principais
|
|
9
|
+
*
|
|
10
|
+
* - **Redimensionável**: Painéis podem ser redimensionados arrastando
|
|
11
|
+
* - **Orientação**: Suporta horizontal e vertical
|
|
12
|
+
* - **Handle**: Handle visual para indicar área redimensionável
|
|
13
|
+
* - **Composição**: ResizablePanelGroup + ResizablePanel + ResizableHandle
|
|
14
|
+
*
|
|
15
|
+
* ## Componentes
|
|
16
|
+
*
|
|
17
|
+
* - **ResizablePanelGroup**: Container principal que agrupa painéis
|
|
18
|
+
* - **ResizablePanel**: Painel individual redimensionável
|
|
19
|
+
* - **ResizableHandle**: Handle para redimensionar entre painéis
|
|
20
|
+
*
|
|
21
|
+
* ## Uso Básico
|
|
22
|
+
*
|
|
23
|
+
* ```tsx
|
|
24
|
+
* import { ResizablePanelGroup, ResizablePanel, ResizableHandle } from "@flowtomic/ui/components/atoms/layout/resizable";
|
|
25
|
+
*
|
|
26
|
+
* function MyComponent() {
|
|
27
|
+
* return (
|
|
28
|
+
* <ResizablePanelGroup direction="horizontal">
|
|
29
|
+
* <ResizablePanel defaultSize={50}>Painel 1</ResizablePanel>
|
|
30
|
+
* <ResizableHandle />
|
|
31
|
+
* <ResizablePanel defaultSize={50}>Painel 2</ResizablePanel>
|
|
32
|
+
* </ResizablePanelGroup>
|
|
33
|
+
* );
|
|
34
|
+
* }
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* ## Acessibilidade
|
|
38
|
+
*
|
|
39
|
+
* - Suporta navegação por teclado
|
|
40
|
+
* - Handle acessível com foco
|
|
41
|
+
* - Suporta leitores de tela
|
|
42
|
+
*
|
|
43
|
+
* @see [react-resizable-panels](https://github.com/bvaughn/react-resizable-panels) para mais detalhes
|
|
44
|
+
*/
|
|
1
45
|
import type * as React from "react";
|
|
2
46
|
import * as ResizablePrimitive from "react-resizable-panels";
|
|
47
|
+
/**
|
|
48
|
+
* ResizablePanelGroup - Container principal que agrupa painéis redimensionáveis.
|
|
49
|
+
*
|
|
50
|
+
* Componente usado para agrupar múltiplos painéis redimensionáveis.
|
|
51
|
+
*
|
|
52
|
+
* @param {React.ComponentProps<typeof ResizablePrimitive.PanelGroup>} props - Props do componente
|
|
53
|
+
* @returns {JSX.Element} Componente ResizablePanelGroup
|
|
54
|
+
*/
|
|
3
55
|
declare function ResizablePanelGroup({ className, ...props }: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>): import("react/jsx-runtime").JSX.Element;
|
|
56
|
+
/**
|
|
57
|
+
* ResizablePanel - Painel individual redimensionável.
|
|
58
|
+
*
|
|
59
|
+
* Componente usado para representar um painel que pode ser redimensionado.
|
|
60
|
+
*
|
|
61
|
+
* @param {React.ComponentProps<typeof ResizablePrimitive.Panel>} props - Props do componente
|
|
62
|
+
* @returns {JSX.Element} Componente ResizablePanel
|
|
63
|
+
*/
|
|
4
64
|
declare function ResizablePanel({ ...props }: React.ComponentProps<typeof ResizablePrimitive.Panel>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
-
|
|
65
|
+
/**
|
|
66
|
+
* Props do componente ResizableHandle.
|
|
67
|
+
*
|
|
68
|
+
* @property {boolean} [withHandle=false] - Se deve exibir handle visual
|
|
69
|
+
*/
|
|
70
|
+
interface ResizableHandleProps extends React.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> {
|
|
71
|
+
/** Se deve exibir handle visual */
|
|
6
72
|
withHandle?: boolean;
|
|
7
|
-
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* ResizableHandle - Handle para redimensionar entre painéis.
|
|
76
|
+
*
|
|
77
|
+
* Componente usado para criar uma área redimensionável entre dois painéis.
|
|
78
|
+
*
|
|
79
|
+
* @param {ResizableHandleProps} props - Props do componente
|
|
80
|
+
* @returns {JSX.Element} Componente ResizableHandle
|
|
81
|
+
*/
|
|
82
|
+
declare function ResizableHandle({ withHandle, className, ...props }: ResizableHandleProps): import("react/jsx-runtime").JSX.Element;
|
|
8
83
|
export { ResizablePanelGroup, ResizablePanel, ResizableHandle };
|
|
9
84
|
//# sourceMappingURL=resizable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resizable.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/layout/resizable/resizable.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resizable.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/layout/resizable/resizable.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAGH,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,kBAAkB,MAAM,wBAAwB,CAAC;AAI7D;;;;;;;GAOG;AACH,iBAAS,mBAAmB,CAAC,EAC3B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,UAAU,CAAC,2CAQ5D;AAED;;;;;;;GAOG;AACH,iBAAS,cAAc,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,KAAK,CAAC,2CAE1F;AAED;;;;GAIG;AACH,UAAU,oBACR,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,iBAAiB,CAAC;IACzE,mCAAmC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,iBAAS,eAAe,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB,2CAiBjF;AAED,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -1,13 +1,81 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* # Resizable Component
|
|
4
|
+
*
|
|
5
|
+
* O componente `Resizable` é usado para criar painéis redimensionáveis que
|
|
6
|
+
* podem ser ajustados pelo usuário arrastando as bordas. É baseado em
|
|
7
|
+
* react-resizable-panels para funcionalidade completa.
|
|
8
|
+
*
|
|
9
|
+
* ## Características Principais
|
|
10
|
+
*
|
|
11
|
+
* - **Redimensionável**: Painéis podem ser redimensionados arrastando
|
|
12
|
+
* - **Orientação**: Suporta horizontal e vertical
|
|
13
|
+
* - **Handle**: Handle visual para indicar área redimensionável
|
|
14
|
+
* - **Composição**: ResizablePanelGroup + ResizablePanel + ResizableHandle
|
|
15
|
+
*
|
|
16
|
+
* ## Componentes
|
|
17
|
+
*
|
|
18
|
+
* - **ResizablePanelGroup**: Container principal que agrupa painéis
|
|
19
|
+
* - **ResizablePanel**: Painel individual redimensionável
|
|
20
|
+
* - **ResizableHandle**: Handle para redimensionar entre painéis
|
|
21
|
+
*
|
|
22
|
+
* ## Uso Básico
|
|
23
|
+
*
|
|
24
|
+
* ```tsx
|
|
25
|
+
* import { ResizablePanelGroup, ResizablePanel, ResizableHandle } from "@flowtomic/ui/components/atoms/layout/resizable";
|
|
26
|
+
*
|
|
27
|
+
* function MyComponent() {
|
|
28
|
+
* return (
|
|
29
|
+
* <ResizablePanelGroup direction="horizontal">
|
|
30
|
+
* <ResizablePanel defaultSize={50}>Painel 1</ResizablePanel>
|
|
31
|
+
* <ResizableHandle />
|
|
32
|
+
* <ResizablePanel defaultSize={50}>Painel 2</ResizablePanel>
|
|
33
|
+
* </ResizablePanelGroup>
|
|
34
|
+
* );
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* ## Acessibilidade
|
|
39
|
+
*
|
|
40
|
+
* - Suporta navegação por teclado
|
|
41
|
+
* - Handle acessível com foco
|
|
42
|
+
* - Suporta leitores de tela
|
|
43
|
+
*
|
|
44
|
+
* @see [react-resizable-panels](https://github.com/bvaughn/react-resizable-panels) para mais detalhes
|
|
45
|
+
*/
|
|
2
46
|
import { GripVerticalIcon } from "lucide-react";
|
|
3
47
|
import * as ResizablePrimitive from "react-resizable-panels";
|
|
4
48
|
import { cn } from "@/lib/utils";
|
|
49
|
+
/**
|
|
50
|
+
* ResizablePanelGroup - Container principal que agrupa painéis redimensionáveis.
|
|
51
|
+
*
|
|
52
|
+
* Componente usado para agrupar múltiplos painéis redimensionáveis.
|
|
53
|
+
*
|
|
54
|
+
* @param {React.ComponentProps<typeof ResizablePrimitive.PanelGroup>} props - Props do componente
|
|
55
|
+
* @returns {JSX.Element} Componente ResizablePanelGroup
|
|
56
|
+
*/
|
|
5
57
|
function ResizablePanelGroup({ className, ...props }) {
|
|
6
58
|
return (_jsx(ResizablePrimitive.PanelGroup, { "data-slot": "resizable-panel-group", className: cn("flex h-full w-full data-[panel-group-direction=vertical]:flex-col", className), ...props }));
|
|
7
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* ResizablePanel - Painel individual redimensionável.
|
|
62
|
+
*
|
|
63
|
+
* Componente usado para representar um painel que pode ser redimensionado.
|
|
64
|
+
*
|
|
65
|
+
* @param {React.ComponentProps<typeof ResizablePrimitive.Panel>} props - Props do componente
|
|
66
|
+
* @returns {JSX.Element} Componente ResizablePanel
|
|
67
|
+
*/
|
|
8
68
|
function ResizablePanel({ ...props }) {
|
|
9
69
|
return _jsx(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
|
|
10
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* ResizableHandle - Handle para redimensionar entre painéis.
|
|
73
|
+
*
|
|
74
|
+
* Componente usado para criar uma área redimensionável entre dois painéis.
|
|
75
|
+
*
|
|
76
|
+
* @param {ResizableHandleProps} props - Props do componente
|
|
77
|
+
* @returns {JSX.Element} Componente ResizableHandle
|
|
78
|
+
*/
|
|
11
79
|
function ResizableHandle({ withHandle, className, ...props }) {
|
|
12
80
|
return (_jsx(ResizablePrimitive.PanelResizeHandle, { "data-slot": "resizable-handle", className: cn("bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90", className), ...props, children: withHandle && (_jsx("div", { className: "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border", children: _jsx(GripVerticalIcon, { className: "size-2.5" }) })) }));
|
|
13
81
|
}
|
|
@@ -1,7 +1,39 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* ScrollArea Component
|
|
2
|
+
* # ScrollArea Component
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* O componente `ScrollArea` é usado para criar uma área de scroll customizada
|
|
5
|
+
* com scrollbars estilizadas. É baseado em Radix UI para garantir acessibilidade.
|
|
6
|
+
*
|
|
7
|
+
* ## Características Principais
|
|
8
|
+
*
|
|
9
|
+
* - **Acessível**: Baseado em Radix UI com suporte completo a leitores de tela
|
|
10
|
+
* - **Scrollbars Customizadas**: Scrollbars estilizadas e customizáveis
|
|
11
|
+
* - **Orientação**: Suporta scroll vertical e horizontal
|
|
12
|
+
* - **Wheel Support**: Suporte aprimorado para scroll com roda do mouse
|
|
13
|
+
* - **Composição**: ScrollArea + ScrollAreaViewport + ScrollBar
|
|
14
|
+
*
|
|
15
|
+
* ## Uso Básico
|
|
16
|
+
*
|
|
17
|
+
* ```tsx
|
|
18
|
+
* import { ScrollArea } from "@flowtomic/ui/components/atoms/layout/scroll-area";
|
|
19
|
+
*
|
|
20
|
+
* function MyComponent() {
|
|
21
|
+
* return (
|
|
22
|
+
* <ScrollArea className="h-[200px] w-[350px]">
|
|
23
|
+
* <div>Conteúdo longo que precisa de scroll</div>
|
|
24
|
+
* </ScrollArea>
|
|
25
|
+
* );
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* ## Acessibilidade
|
|
30
|
+
*
|
|
31
|
+
* - Suporta navegação por teclado
|
|
32
|
+
* - Segue padrões WAI-ARIA via Radix UI
|
|
33
|
+
* - Suporta leitores de tela
|
|
34
|
+
* - Scrollbars acessíveis
|
|
35
|
+
*
|
|
36
|
+
* @see [Radix UI Scroll Area](https://www.radix-ui.com/primitives/docs/components/scroll-area) para mais detalhes
|
|
5
37
|
*/
|
|
6
38
|
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
7
39
|
import * as React from "react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-area.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/layout/scroll-area/scroll-area.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"scroll-area.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/layout/scroll-area/scroll-area.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC9F,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,wBAAwB,CAClE,OAAO,mBAAmB,CAAC,QAAQ,CACpC,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG,KAAK,CAAC,wBAAwB,CACnE,OAAO,mBAAmB,CAAC,mBAAmB,CAC/C,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpG,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,wBAAwB,CAChE,OAAO,mBAAmB,CAAC,MAAM,CAClC,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,SAAS,wKAiBb,CAAC;AAGH;;GAEG;AACH,QAAA,MAAM,kBAAkB,uKAkEtB,CAAC;AAGH;;GAEG;AACH,QAAA,MAAM,UAAU,+JAed,CAAC;AAGH,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -1,8 +1,40 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
|
-
* ScrollArea Component
|
|
3
|
+
* # ScrollArea Component
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* O componente `ScrollArea` é usado para criar uma área de scroll customizada
|
|
6
|
+
* com scrollbars estilizadas. É baseado em Radix UI para garantir acessibilidade.
|
|
7
|
+
*
|
|
8
|
+
* ## Características Principais
|
|
9
|
+
*
|
|
10
|
+
* - **Acessível**: Baseado em Radix UI com suporte completo a leitores de tela
|
|
11
|
+
* - **Scrollbars Customizadas**: Scrollbars estilizadas e customizáveis
|
|
12
|
+
* - **Orientação**: Suporta scroll vertical e horizontal
|
|
13
|
+
* - **Wheel Support**: Suporte aprimorado para scroll com roda do mouse
|
|
14
|
+
* - **Composição**: ScrollArea + ScrollAreaViewport + ScrollBar
|
|
15
|
+
*
|
|
16
|
+
* ## Uso Básico
|
|
17
|
+
*
|
|
18
|
+
* ```tsx
|
|
19
|
+
* import { ScrollArea } from "@flowtomic/ui/components/atoms/layout/scroll-area";
|
|
20
|
+
*
|
|
21
|
+
* function MyComponent() {
|
|
22
|
+
* return (
|
|
23
|
+
* <ScrollArea className="h-[200px] w-[350px]">
|
|
24
|
+
* <div>Conteúdo longo que precisa de scroll</div>
|
|
25
|
+
* </ScrollArea>
|
|
26
|
+
* );
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* ## Acessibilidade
|
|
31
|
+
*
|
|
32
|
+
* - Suporta navegação por teclado
|
|
33
|
+
* - Segue padrões WAI-ARIA via Radix UI
|
|
34
|
+
* - Suporta leitores de tela
|
|
35
|
+
* - Scrollbars acessíveis
|
|
36
|
+
*
|
|
37
|
+
* @see [Radix UI Scroll Area](https://www.radix-ui.com/primitives/docs/components/scroll-area) para mais detalhes
|
|
6
38
|
*/
|
|
7
39
|
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
8
40
|
import * as React from "react";
|
|
@@ -68,6 +100,6 @@ ScrollAreaViewport.displayName = ScrollAreaPrimitive.Viewport.displayName;
|
|
|
68
100
|
/**
|
|
69
101
|
* ScrollArea - Container principal do scroll area
|
|
70
102
|
*/
|
|
71
|
-
const ScrollArea = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(ScrollAreaPrimitive.Root, { ref: ref, className: cn("relative overflow-hidden", className), ...props, children: [_jsx(ScrollAreaViewport, { children: children }), _jsx(ScrollBar, {}), _jsx(ScrollBar, { orientation: "horizontal" }), _jsx(ScrollAreaPrimitive.Corner, {})] })));
|
|
103
|
+
const ScrollArea = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(ScrollAreaPrimitive.Root, { ref: ref, "data-slot": "scroll-area", className: cn("relative overflow-hidden", className), ...props, children: [_jsx(ScrollAreaViewport, { children: children }), _jsx(ScrollBar, {}), _jsx(ScrollBar, { orientation: "horizontal" }), _jsx(ScrollAreaPrimitive.Corner, {})] })));
|
|
72
104
|
ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
|
|
73
105
|
export { ScrollArea, ScrollAreaViewport, ScrollBar };
|