@flowtomic/ui 0.1.14 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/dist/components/_reference/shadcn-ai/prompt-input.d.ts +48 -0
  2. package/dist/components/_reference/shadcn-ai/prompt-input.d.ts.map +1 -0
  3. package/dist/components/_reference/shadcn-ai/prompt-input.js +67 -0
  4. package/dist/components/atoms/actions/badge/badge.d.ts +97 -1
  5. package/dist/components/atoms/actions/badge/badge.d.ts.map +1 -1
  6. package/dist/components/atoms/actions/badge/badge.js +83 -0
  7. package/dist/components/atoms/actions/button/button.d.ts +134 -1
  8. package/dist/components/atoms/actions/button/button.d.ts.map +1 -1
  9. package/dist/components/atoms/actions/button/button.js +106 -0
  10. package/dist/components/atoms/actions/context-menu/context-menu.d.ts +79 -0
  11. package/dist/components/atoms/actions/context-menu/context-menu.d.ts.map +1 -1
  12. package/dist/components/atoms/actions/context-menu/context-menu.js +55 -0
  13. package/dist/components/atoms/actions/dropdown-menu/dropdown-menu.d.ts +51 -3
  14. package/dist/components/atoms/actions/dropdown-menu/dropdown-menu.d.ts.map +1 -1
  15. package/dist/components/atoms/actions/dropdown-menu/dropdown-menu.js +51 -3
  16. package/dist/components/atoms/animation/encrypted-text/encrypted-text.d.ts.map +1 -1
  17. package/dist/components/atoms/animation/encrypted-text/encrypted-text.js +3 -1
  18. package/dist/components/atoms/feedback/alert/alert.d.ts +77 -12
  19. package/dist/components/atoms/feedback/alert/alert.d.ts.map +1 -1
  20. package/dist/components/atoms/feedback/alert/alert.js +64 -12
  21. package/dist/components/atoms/feedback/alert-dialog/alert-dialog.d.ts +2 -2
  22. package/dist/components/atoms/feedback/dialog/dialog.d.ts +66 -8
  23. package/dist/components/atoms/feedback/dialog/dialog.d.ts.map +1 -1
  24. package/dist/components/atoms/feedback/dialog/dialog.js +66 -8
  25. package/dist/components/atoms/feedback/hover-card/hover-card.d.ts +45 -5
  26. package/dist/components/atoms/feedback/hover-card/hover-card.d.ts.map +1 -1
  27. package/dist/components/atoms/feedback/hover-card/hover-card.js +45 -5
  28. package/dist/components/atoms/feedback/inline-citation/inline-citation.d.ts +53 -2
  29. package/dist/components/atoms/feedback/inline-citation/inline-citation.d.ts.map +1 -1
  30. package/dist/components/atoms/feedback/inline-citation/inline-citation.js +53 -2
  31. package/dist/components/atoms/feedback/popover/popover.d.ts +78 -0
  32. package/dist/components/atoms/feedback/popover/popover.d.ts.map +1 -1
  33. package/dist/components/atoms/feedback/popover/popover.js +64 -0
  34. package/dist/components/atoms/feedback/sheet/sheet.d.ts +90 -0
  35. package/dist/components/atoms/feedback/sheet/sheet.d.ts.map +1 -1
  36. package/dist/components/atoms/feedback/sheet/sheet.js +78 -0
  37. package/dist/components/atoms/feedback/sonner/sonner.d.ts +66 -6
  38. package/dist/components/atoms/feedback/sonner/sonner.d.ts.map +1 -1
  39. package/dist/components/atoms/feedback/sonner/sonner.js +66 -6
  40. package/dist/components/atoms/feedback/tooltip/tooltip.d.ts +54 -4
  41. package/dist/components/atoms/feedback/tooltip/tooltip.d.ts.map +1 -1
  42. package/dist/components/atoms/feedback/tooltip/tooltip.js +63 -5
  43. package/dist/components/atoms/forms/checkbox/checkbox.d.ts +62 -4
  44. package/dist/components/atoms/forms/checkbox/checkbox.d.ts.map +1 -1
  45. package/dist/components/atoms/forms/checkbox/checkbox.js +58 -4
  46. package/dist/components/atoms/forms/field/field.d.ts +67 -0
  47. package/dist/components/atoms/forms/field/field.d.ts.map +1 -1
  48. package/dist/components/atoms/forms/field/field.js +47 -0
  49. package/dist/components/atoms/forms/form/form.d.ts +60 -0
  50. package/dist/components/atoms/forms/form/form.d.ts.map +1 -1
  51. package/dist/components/atoms/forms/form/form.js +3 -0
  52. package/dist/components/atoms/forms/input/input.d.ts +100 -1
  53. package/dist/components/atoms/forms/input/input.d.ts.map +1 -1
  54. package/dist/components/atoms/forms/input/input.js +82 -0
  55. package/dist/components/atoms/forms/input-otp/input-otp.d.ts +62 -0
  56. package/dist/components/atoms/forms/input-otp/input-otp.d.ts.map +1 -1
  57. package/dist/components/atoms/forms/input-otp/input-otp.js +50 -0
  58. package/dist/components/atoms/forms/label/label.d.ts +54 -0
  59. package/dist/components/atoms/forms/label/label.d.ts.map +1 -1
  60. package/dist/components/atoms/forms/label/label.js +50 -0
  61. package/dist/components/atoms/forms/radio-group/radio-group.d.ts +47 -0
  62. package/dist/components/atoms/forms/radio-group/radio-group.d.ts.map +1 -1
  63. package/dist/components/atoms/forms/radio-group/radio-group.js +43 -0
  64. package/dist/components/atoms/forms/select/select.d.ts +62 -0
  65. package/dist/components/atoms/forms/select/select.d.ts.map +1 -1
  66. package/dist/components/atoms/forms/select/select.js +62 -0
  67. package/dist/components/atoms/forms/slider/slider.d.ts +60 -0
  68. package/dist/components/atoms/forms/slider/slider.d.ts.map +1 -1
  69. package/dist/components/atoms/forms/slider/slider.js +53 -1
  70. package/dist/components/atoms/forms/switch/switch.d.ts +67 -0
  71. package/dist/components/atoms/forms/switch/switch.d.ts.map +1 -1
  72. package/dist/components/atoms/forms/switch/switch.js +63 -0
  73. package/dist/components/atoms/forms/textarea/textarea.d.ts +66 -0
  74. package/dist/components/atoms/forms/textarea/textarea.d.ts.map +1 -1
  75. package/dist/components/atoms/forms/textarea/textarea.js +13 -0
  76. package/dist/components/atoms/forms/toggle/toggle.d.ts +65 -1
  77. package/dist/components/atoms/forms/toggle/toggle.d.ts.map +1 -1
  78. package/dist/components/atoms/forms/toggle/toggle.js +58 -0
  79. package/dist/components/atoms/index.d.ts +0 -2
  80. package/dist/components/atoms/index.d.ts.map +1 -1
  81. package/dist/components/atoms/index.js +0 -1
  82. package/dist/components/atoms/layout/accordion/accordion.d.ts +84 -0
  83. package/dist/components/atoms/layout/accordion/accordion.d.ts.map +1 -1
  84. package/dist/components/atoms/layout/accordion/accordion.js +72 -0
  85. package/dist/components/atoms/layout/aspect-ratio/aspect-ratio.d.ts +54 -0
  86. package/dist/components/atoms/layout/aspect-ratio/aspect-ratio.d.ts.map +1 -1
  87. package/dist/components/atoms/layout/aspect-ratio/aspect-ratio.js +49 -0
  88. package/dist/components/atoms/layout/collapsible/collapsible.d.ts +47 -5
  89. package/dist/components/atoms/layout/collapsible/collapsible.d.ts.map +1 -1
  90. package/dist/components/atoms/layout/collapsible/collapsible.js +47 -5
  91. package/dist/components/atoms/layout/drawer/drawer.d.ts +55 -0
  92. package/dist/components/atoms/layout/drawer/drawer.d.ts.map +1 -1
  93. package/dist/components/atoms/layout/index.d.ts +2 -0
  94. package/dist/components/atoms/layout/index.d.ts.map +1 -1
  95. package/dist/components/atoms/layout/index.js +1 -0
  96. package/dist/components/atoms/layout/resizable/resizable.d.ts +77 -2
  97. package/dist/components/atoms/layout/resizable/resizable.d.ts.map +1 -1
  98. package/dist/components/atoms/layout/resizable/resizable.js +68 -0
  99. package/dist/components/atoms/layout/scroll-area/scroll-area.d.ts +34 -2
  100. package/dist/components/atoms/layout/scroll-area/scroll-area.d.ts.map +1 -1
  101. package/dist/components/atoms/layout/scroll-area/scroll-area.js +35 -3
  102. package/dist/components/atoms/layout/sidebar/sidebar.d.ts +66 -1
  103. package/dist/components/atoms/layout/sidebar/sidebar.d.ts.map +1 -1
  104. package/dist/components/atoms/layout/sidebar/sidebar.js +66 -0
  105. package/dist/components/atoms/layout/toggle-group/toggle-group.d.ts +73 -0
  106. package/dist/components/atoms/layout/toggle-group/toggle-group.d.ts.map +1 -1
  107. package/dist/components/atoms/layout/toggle-group/toggle-group.js +57 -0
  108. package/dist/components/atoms/layout/widget-resize-handle/index.d.ts +3 -0
  109. package/dist/components/atoms/layout/widget-resize-handle/index.d.ts.map +1 -0
  110. package/dist/components/atoms/layout/widget-resize-handle/index.js +1 -0
  111. package/dist/components/atoms/layout/widget-resize-handle/widget-resize-handle.d.ts +98 -0
  112. package/dist/components/atoms/layout/widget-resize-handle/widget-resize-handle.d.ts.map +1 -0
  113. package/dist/components/atoms/layout/widget-resize-handle/widget-resize-handle.js +117 -0
  114. package/dist/components/atoms/navigation/command/command.d.ts +7 -7
  115. package/dist/components/molecules/data-display/chat-message/chat-message.d.ts +39 -0
  116. package/dist/components/molecules/data-display/chat-message/chat-message.d.ts.map +1 -0
  117. package/dist/components/molecules/data-display/chat-message/chat-message.js +85 -0
  118. package/dist/components/molecules/data-display/chat-message/index.d.ts +3 -0
  119. package/dist/components/molecules/data-display/chat-message/index.d.ts.map +1 -0
  120. package/dist/components/molecules/data-display/chat-message/index.js +1 -0
  121. package/dist/components/molecules/data-display/message/message.d.ts +22 -6
  122. package/dist/components/molecules/data-display/message/message.d.ts.map +1 -1
  123. package/dist/components/molecules/data-display/message/message.js +192 -8
  124. package/dist/components/molecules/draggable-widget/draggable-widget.d.ts.map +1 -1
  125. package/dist/components/molecules/draggable-widget/draggable-widget.js +6 -2
  126. package/dist/components/molecules/feedback/edit-chat-message-modal/edit-chat-message-modal.d.ts +20 -0
  127. package/dist/components/molecules/feedback/edit-chat-message-modal/edit-chat-message-modal.d.ts.map +1 -0
  128. package/dist/components/molecules/feedback/edit-chat-message-modal/edit-chat-message-modal.js +65 -0
  129. package/dist/components/molecules/feedback/edit-chat-message-modal/index.d.ts +3 -0
  130. package/dist/components/molecules/feedback/edit-chat-message-modal/index.d.ts.map +1 -0
  131. package/dist/components/molecules/feedback/edit-chat-message-modal/index.js +1 -0
  132. package/dist/components/molecules/forms/autocomplete/autocomplete-section.d.ts.map +1 -1
  133. package/dist/components/molecules/forms/autocomplete/autocomplete-section.js +3 -1
  134. package/dist/components/molecules/forms/chat-input/chat-input.d.ts +46 -0
  135. package/dist/components/molecules/forms/chat-input/chat-input.d.ts.map +1 -0
  136. package/dist/components/molecules/forms/chat-input/chat-input.js +57 -0
  137. package/dist/components/molecules/forms/chat-input/index.d.ts +3 -0
  138. package/dist/components/molecules/forms/chat-input/index.d.ts.map +1 -0
  139. package/dist/components/molecules/forms/chat-input/index.js +1 -0
  140. package/dist/components/molecules/forms/item/item.d.ts +1 -1
  141. package/dist/components/molecules/forms/text-editor/text-editor.d.ts.map +1 -1
  142. package/dist/components/molecules/index.d.ts +6 -0
  143. package/dist/components/molecules/index.d.ts.map +1 -1
  144. package/dist/components/molecules/index.js +3 -0
  145. package/dist/components/molecules/navigation/menu-dock/menu-dock.js +1 -1
  146. package/dist/components/organisms/chat-log/chat-log.d.ts +30 -0
  147. package/dist/components/organisms/chat-log/chat-log.d.ts.map +1 -0
  148. package/dist/components/organisms/chat-log/chat-log.js +21 -0
  149. package/dist/components/organisms/chat-log/index.d.ts +3 -0
  150. package/dist/components/organisms/chat-log/index.d.ts.map +1 -0
  151. package/dist/components/organisms/chat-log/index.js +1 -0
  152. package/dist/components/organisms/document-editor/document-editor.d.ts.map +1 -1
  153. package/dist/components/organisms/document-editor/document-editor.js +2 -2
  154. package/dist/components/organisms/draggable-dashboard-grid/draggable-dashboard-grid.d.ts.map +1 -1
  155. package/dist/components/organisms/draggable-dashboard-grid/draggable-dashboard-grid.js +1 -1
  156. package/dist/components/organisms/form-layout/form-layout.d.ts.map +1 -1
  157. package/dist/components/organisms/form-layout/form-layout.js +3 -1
  158. package/dist/components/organisms/genealogy-canvas/genealogy-canvas.d.ts +0 -5
  159. package/dist/components/organisms/genealogy-canvas/genealogy-canvas.d.ts.map +1 -1
  160. package/dist/components/organisms/genealogy-canvas/genealogy-canvas.js +50 -55
  161. package/dist/components/organisms/index.d.ts +2 -0
  162. package/dist/components/organisms/index.d.ts.map +1 -1
  163. package/dist/components/organisms/index.js +1 -0
  164. package/dist/components/organisms/model-selector/model-selector.d.ts +1 -1
  165. package/dist/components/organisms/prompt-input/index.d.ts +1 -1
  166. package/dist/components/organisms/prompt-input/index.d.ts.map +1 -1
  167. package/dist/components/organisms/prompt-input/index.js +1 -1
  168. package/dist/components/organisms/prompt-input/prompt-input.d.ts +22 -7
  169. package/dist/components/organisms/prompt-input/prompt-input.d.ts.map +1 -1
  170. package/dist/components/organisms/prompt-input/prompt-input.js +26 -17
  171. package/dist/index.js +501 -501
  172. package/dist/test/setup.d.ts +2 -0
  173. package/dist/test/setup.d.ts.map +1 -0
  174. package/dist/test/setup.js +43 -0
  175. package/package.json +18 -2
@@ -1,6 +1,62 @@
1
+ /**
2
+ * # InputOTP Component
3
+ *
4
+ * O componente `InputOTP` é um campo de entrada usado para códigos de verificação
5
+ * (One-Time Password). Fornece uma interface visual com slots individuais para cada dígito.
6
+ *
7
+ * ## Características Principais
8
+ *
9
+ * - **Slots Visuais**: Cada dígito é exibido em um slot individual
10
+ * - **Auto-foco**: Foco automático entre slots
11
+ * - **Validação**: Suporte a validação de formato
12
+ * - **Acessível**: Estrutura semântica para acessibilidade
13
+ * - **Composição**: Múltiplos sub-componentes para flexibilidade
14
+ *
15
+ * ## Componentes
16
+ *
17
+ * - **InputOTP**: Container principal do OTP
18
+ * - **InputOTPGroup**: Agrupa slots
19
+ * - **InputOTPSlot**: Slot individual para dígito
20
+ * - **InputOTPSeparator**: Separador visual entre grupos
21
+ *
22
+ * ## Uso Básico
23
+ *
24
+ * ```tsx
25
+ * import { InputOTP, InputOTPGroup, InputOTPSlot } from "@flowtomic/ui/components/atoms/forms/input-otp";
26
+ *
27
+ * function MyComponent() {
28
+ * return (
29
+ * <InputOTP maxLength={6}>
30
+ * <InputOTPGroup>
31
+ * <InputOTPSlot index={0} />
32
+ * <InputOTPSlot index={1} />
33
+ * <InputOTPSlot index={2} />
34
+ * <InputOTPSlot index={3} />
35
+ * <InputOTPSlot index={4} />
36
+ * <InputOTPSlot index={5} />
37
+ * </InputOTPGroup>
38
+ * </InputOTP>
39
+ * );
40
+ * }
41
+ * ```
42
+ *
43
+ * ## Acessibilidade
44
+ *
45
+ * - Suporta navegação por teclado
46
+ * - Suporta leitores de tela
47
+ * - Foco gerenciado automaticamente entre slots
48
+ *
49
+ * @see [input-otp](https://github.com/guilhermerodz/input-otp) para mais detalhes
50
+ */
1
51
  import { OTPInput } from "input-otp";
2
52
  import * as React from "react";
53
+ /**
54
+ * Props do componente InputOTP.
55
+ *
56
+ * @property {string} [containerClassName] - Classes CSS para o container
57
+ */
3
58
  export type InputOTPProps = React.ComponentProps<typeof OTPInput> & {
59
+ /** Classes CSS para o container */
4
60
  containerClassName?: string;
5
61
  };
6
62
  declare function InputOTP({ className, containerClassName, maxLength, ...props }: InputOTPProps): import("react/jsx-runtime").JSX.Element;
@@ -13,7 +69,13 @@ declare function InputOTPGroup({ className, ...props }: InputOTPGroupProps): imp
13
69
  declare namespace InputOTPGroup {
14
70
  var displayName: string;
15
71
  }
72
+ /**
73
+ * Props do componente InputOTPSlot.
74
+ *
75
+ * @property {number} index - Índice do slot (0-based)
76
+ */
16
77
  export interface InputOTPSlotProps extends React.ComponentProps<"div"> {
78
+ /** Índice do slot (0-based) */
17
79
  index: number;
18
80
  }
19
81
  declare function InputOTPSlot({ index, className, ...props }: InputOTPSlotProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"input-otp.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/forms/input-otp/input-otp.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,WAAW,CAAC;AAEtD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,GAAG;IAClE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,2CAUtF;kBAVQ,QAAQ;;;AAcjB,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;CAAG;AAE1E,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,2CAIjE;kBAJQ,aAAa;;;AAQtB,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;IACpE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,iBAAS,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAsBtE;kBAtBQ,YAAY;;;AA0BrB,MAAM,WAAW,sBAAuB,SAAQ,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;CAAG;AAE9E,iBAAS,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,2CAa9D;kBAbQ,iBAAiB;;;AAiB1B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"input-otp.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/forms/input-otp/input-otp.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,OAAO,EAAE,QAAQ,EAAmB,MAAM,WAAW,CAAC;AAEtD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,GAAG;IAClE,mCAAmC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,2CAUtF;kBAVQ,QAAQ;;;AAcjB,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;CAAG;AAE1E,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,2CAIjE;kBAJQ,aAAa;;;AAQtB;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;IACpE,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,iBAAS,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAsBtE;kBAtBQ,YAAY;;;AA0BrB,MAAM,WAAW,sBAAuB,SAAQ,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;CAAG;AAE9E,iBAAS,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,2CAa9D;kBAbQ,iBAAiB;;;AAiB1B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,4 +1,54 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * # InputOTP Component
4
+ *
5
+ * O componente `InputOTP` é um campo de entrada usado para códigos de verificação
6
+ * (One-Time Password). Fornece uma interface visual com slots individuais para cada dígito.
7
+ *
8
+ * ## Características Principais
9
+ *
10
+ * - **Slots Visuais**: Cada dígito é exibido em um slot individual
11
+ * - **Auto-foco**: Foco automático entre slots
12
+ * - **Validação**: Suporte a validação de formato
13
+ * - **Acessível**: Estrutura semântica para acessibilidade
14
+ * - **Composição**: Múltiplos sub-componentes para flexibilidade
15
+ *
16
+ * ## Componentes
17
+ *
18
+ * - **InputOTP**: Container principal do OTP
19
+ * - **InputOTPGroup**: Agrupa slots
20
+ * - **InputOTPSlot**: Slot individual para dígito
21
+ * - **InputOTPSeparator**: Separador visual entre grupos
22
+ *
23
+ * ## Uso Básico
24
+ *
25
+ * ```tsx
26
+ * import { InputOTP, InputOTPGroup, InputOTPSlot } from "@flowtomic/ui/components/atoms/forms/input-otp";
27
+ *
28
+ * function MyComponent() {
29
+ * return (
30
+ * <InputOTP maxLength={6}>
31
+ * <InputOTPGroup>
32
+ * <InputOTPSlot index={0} />
33
+ * <InputOTPSlot index={1} />
34
+ * <InputOTPSlot index={2} />
35
+ * <InputOTPSlot index={3} />
36
+ * <InputOTPSlot index={4} />
37
+ * <InputOTPSlot index={5} />
38
+ * </InputOTPGroup>
39
+ * </InputOTP>
40
+ * );
41
+ * }
42
+ * ```
43
+ *
44
+ * ## Acessibilidade
45
+ *
46
+ * - Suporta navegação por teclado
47
+ * - Suporta leitores de tela
48
+ * - Foco gerenciado automaticamente entre slots
49
+ *
50
+ * @see [input-otp](https://github.com/guilhermerodz/input-otp) para mais detalhes
51
+ */
2
52
  import { OTPInput, OTPInputContext } from "input-otp";
3
53
  import { MinusIcon } from "lucide-react";
4
54
  import * as React from "react";
@@ -1,7 +1,61 @@
1
+ /**
2
+ * # Label Component
3
+ *
4
+ * O componente `Label` é usado para associar texto descritivo a controles de formulário.
5
+ * É baseado em Radix UI para garantir acessibilidade completa e associação correta com inputs.
6
+ *
7
+ * ## Características Principais
8
+ *
9
+ * - **Acessível**: Baseado em Radix UI com suporte completo a leitores de tela
10
+ * - **Associação Automática**: Associa-se automaticamente a controles via htmlFor/id
11
+ * - **Estados Visuais**: Responde a estados disabled dos controles associados
12
+ * - **Customizável**: Pode ser estilizado via className e props HTML padrão
13
+ *
14
+ * ## Uso Básico
15
+ *
16
+ * ```tsx
17
+ * import { Label } from "@flowtomic/ui/components/atoms/forms/label";
18
+ * import { Input } from "@flowtomic/ui/components/atoms/forms/input";
19
+ *
20
+ * function MyComponent() {
21
+ * return (
22
+ * <div>
23
+ * <Label htmlFor="email">E-mail</Label>
24
+ * <Input id="email" type="email" />
25
+ * </div>
26
+ * );
27
+ * }
28
+ * ```
29
+ *
30
+ * ## Acessibilidade
31
+ *
32
+ * - Associa-se automaticamente a controles via htmlFor/id
33
+ * - Suporta leitores de tela
34
+ * - Responde visualmente a estados disabled dos controles
35
+ *
36
+ * @see [Radix UI Label](https://www.radix-ui.com/primitives/docs/components/label) para mais detalhes
37
+ */
1
38
  import * as LabelPrimitive from "@radix-ui/react-label";
2
39
  import type * as React from "react";
40
+ /**
41
+ * Props do componente Label.
42
+ * @see LabelPrimitive.Root para props disponíveis (htmlFor, etc.)
43
+ */
3
44
  export interface LabelProps extends React.ComponentProps<typeof LabelPrimitive.Root> {
4
45
  }
46
+ /**
47
+ * Componente Label para associar texto a controles de formulário.
48
+ *
49
+ * @component
50
+ * @param {LabelProps} props - Props do componente
51
+ * @returns {JSX.Element} Elemento Label renderizado
52
+ *
53
+ * @example
54
+ * ```tsx
55
+ * <Label htmlFor="email">E-mail</Label>
56
+ * <Input id="email" type="email" />
57
+ * ```
58
+ */
5
59
  declare function Label({ className, ...props }: LabelProps): import("react/jsx-runtime").JSX.Element;
6
60
  declare namespace Label {
7
61
  var displayName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/forms/label/label.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAGpC,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC;CAAG;AAEvF,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAWjD;kBAXQ,KAAK;;;AAed,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/forms/label/label.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAGpC;;;GAGG;AACH,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC;CAAG;AAEvF;;;;;;;;;;;;GAYG;AACH,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAWjD;kBAXQ,KAAK;;;AAed,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -1,6 +1,56 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * # Label Component
4
+ *
5
+ * O componente `Label` é usado para associar texto descritivo a controles de formulário.
6
+ * É baseado em Radix UI para garantir acessibilidade completa e associação correta com inputs.
7
+ *
8
+ * ## Características Principais
9
+ *
10
+ * - **Acessível**: Baseado em Radix UI com suporte completo a leitores de tela
11
+ * - **Associação Automática**: Associa-se automaticamente a controles via htmlFor/id
12
+ * - **Estados Visuais**: Responde a estados disabled dos controles associados
13
+ * - **Customizável**: Pode ser estilizado via className e props HTML padrão
14
+ *
15
+ * ## Uso Básico
16
+ *
17
+ * ```tsx
18
+ * import { Label } from "@flowtomic/ui/components/atoms/forms/label";
19
+ * import { Input } from "@flowtomic/ui/components/atoms/forms/input";
20
+ *
21
+ * function MyComponent() {
22
+ * return (
23
+ * <div>
24
+ * <Label htmlFor="email">E-mail</Label>
25
+ * <Input id="email" type="email" />
26
+ * </div>
27
+ * );
28
+ * }
29
+ * ```
30
+ *
31
+ * ## Acessibilidade
32
+ *
33
+ * - Associa-se automaticamente a controles via htmlFor/id
34
+ * - Suporta leitores de tela
35
+ * - Responde visualmente a estados disabled dos controles
36
+ *
37
+ * @see [Radix UI Label](https://www.radix-ui.com/primitives/docs/components/label) para mais detalhes
38
+ */
2
39
  import * as LabelPrimitive from "@radix-ui/react-label";
3
40
  import { cn } from "@/lib/utils";
41
+ /**
42
+ * Componente Label para associar texto a controles de formulário.
43
+ *
44
+ * @component
45
+ * @param {LabelProps} props - Props do componente
46
+ * @returns {JSX.Element} Elemento Label renderizado
47
+ *
48
+ * @example
49
+ * ```tsx
50
+ * <Label htmlFor="email">E-mail</Label>
51
+ * <Input id="email" type="email" />
52
+ * ```
53
+ */
4
54
  function Label({ className, ...props }) {
5
55
  return (_jsx(LabelPrimitive.Root, { "data-slot": "label", className: cn("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className), ...props }));
6
56
  }
@@ -1,5 +1,52 @@
1
+ /**
2
+ * # RadioGroup Component
3
+ *
4
+ * O componente `RadioGroup` é um grupo de botões de opção usado para permitir que o usuário
5
+ * selecione uma opção de um conjunto. É 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
+ * - **Seleção Única**: Apenas uma opção pode ser selecionada por vez
11
+ * - **Composição**: RadioGroup + RadioGroupItem para flexibilidade
12
+ * - **Foco Gerenciado**: Foco e navegação por teclado gerenciados automaticamente
13
+ *
14
+ * ## Uso Básico
15
+ *
16
+ * ```tsx
17
+ * import { RadioGroup, RadioGroupItem } from "@flowtomic/ui/components/atoms/forms/radio-group";
18
+ *
19
+ * function MyComponent() {
20
+ * return (
21
+ * <RadioGroup defaultValue="option1">
22
+ * <div className="flex items-center gap-2">
23
+ * <RadioGroupItem value="option1" id="option1" />
24
+ * <label htmlFor="option1">Opção 1</label>
25
+ * </div>
26
+ * <div className="flex items-center gap-2">
27
+ * <RadioGroupItem value="option2" id="option2" />
28
+ * <label htmlFor="option2">Opção 2</label>
29
+ * </div>
30
+ * </RadioGroup>
31
+ * );
32
+ * }
33
+ * ```
34
+ *
35
+ * ## Acessibilidade
36
+ *
37
+ * - Suporta navegação por teclado (setas, Tab)
38
+ * - Segue padrões WAI-ARIA via Radix UI
39
+ * - Suporta leitores de tela
40
+ * - Foco gerenciado automaticamente
41
+ *
42
+ * @see [Radix UI Radio Group](https://www.radix-ui.com/primitives/docs/components/radio-group) para mais detalhes
43
+ */
1
44
  import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
2
45
  import type * as React from "react";
46
+ /**
47
+ * Props do componente RadioGroup.
48
+ * @see RadioGroupPrimitive.Root para props disponíveis (value, onValueChange, defaultValue, etc.)
49
+ */
3
50
  export interface RadioGroupProps extends React.ComponentProps<typeof RadioGroupPrimitive.Root> {
4
51
  }
5
52
  declare function RadioGroup({ className, ...props }: RadioGroupProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/forms/radio-group/radio-group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AAEnE,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAGpC,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC;CAAG;AAEjG,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,2CAQ3D;kBARQ,UAAU;;;AAYnB,MAAM,WAAW,mBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC;CAAG;AAElE,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,2CAkBnE;kBAlBQ,cAAc;;;AAsBvB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/forms/radio-group/radio-group.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AAEnE,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAGpC;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC;CAAG;AAEjG,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,2CAQ3D;kBARQ,UAAU;;;AAYnB,MAAM,WAAW,mBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC;CAAG;AAElE,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,2CAkBnE;kBAlBQ,cAAc;;;AAsBvB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC"}
@@ -1,4 +1,47 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * # RadioGroup Component
4
+ *
5
+ * O componente `RadioGroup` é um grupo de botões de opção usado para permitir que o usuário
6
+ * selecione uma opção de um conjunto. É 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
+ * - **Seleção Única**: Apenas uma opção pode ser selecionada por vez
12
+ * - **Composição**: RadioGroup + RadioGroupItem para flexibilidade
13
+ * - **Foco Gerenciado**: Foco e navegação por teclado gerenciados automaticamente
14
+ *
15
+ * ## Uso Básico
16
+ *
17
+ * ```tsx
18
+ * import { RadioGroup, RadioGroupItem } from "@flowtomic/ui/components/atoms/forms/radio-group";
19
+ *
20
+ * function MyComponent() {
21
+ * return (
22
+ * <RadioGroup defaultValue="option1">
23
+ * <div className="flex items-center gap-2">
24
+ * <RadioGroupItem value="option1" id="option1" />
25
+ * <label htmlFor="option1">Opção 1</label>
26
+ * </div>
27
+ * <div className="flex items-center gap-2">
28
+ * <RadioGroupItem value="option2" id="option2" />
29
+ * <label htmlFor="option2">Opção 2</label>
30
+ * </div>
31
+ * </RadioGroup>
32
+ * );
33
+ * }
34
+ * ```
35
+ *
36
+ * ## Acessibilidade
37
+ *
38
+ * - Suporta navegação por teclado (setas, Tab)
39
+ * - Segue padrões WAI-ARIA via Radix UI
40
+ * - Suporta leitores de tela
41
+ * - Foco gerenciado automaticamente
42
+ *
43
+ * @see [Radix UI Radio Group](https://www.radix-ui.com/primitives/docs/components/radio-group) para mais detalhes
44
+ */
2
45
  import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
3
46
  import { CircleIcon } from "lucide-react";
4
47
  import { cn } from "@/lib/utils";
@@ -1,5 +1,67 @@
1
+ /**
2
+ * # Select Component
3
+ *
4
+ * O componente `Select` é um controle de seleção usado para permitir que o usuário escolha
5
+ * uma opção de uma lista de opções. É 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
+ * - **Animações**: Transições suaves de abertura/fechamento
12
+ * - **Busca**: Suporta busca/filtro de opções (via Radix UI)
13
+ * - **Customizável**: Pode ser estilizado via className e props HTML padrão
14
+ *
15
+ * ## Componentes
16
+ *
17
+ * - **Select**: Container raiz do select
18
+ * - **SelectTrigger**: Elemento que dispara o select
19
+ * - **SelectValue**: Exibe o valor selecionado
20
+ * - **SelectContent**: Conteúdo do dropdown
21
+ * - **SelectItem**: Item individual da lista
22
+ * - **SelectLabel**: Label/separador de seção
23
+ * - **SelectGroup**: Agrupa itens relacionados
24
+ * - **SelectSeparator**: Separador visual
25
+ *
26
+ * ## Uso Básico
27
+ *
28
+ * ```tsx
29
+ * import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@flowtomic/ui/components/atoms/forms/select";
30
+ *
31
+ * function MyComponent() {
32
+ * return (
33
+ * <Select>
34
+ * <SelectTrigger>
35
+ * <SelectValue placeholder="Selecione..." />
36
+ * </SelectTrigger>
37
+ * <SelectContent>
38
+ * <SelectItem value="option1">Opção 1</SelectItem>
39
+ * <SelectItem value="option2">Opção 2</SelectItem>
40
+ * <SelectItem value="option3">Opção 3</SelectItem>
41
+ * </SelectContent>
42
+ * </Select>
43
+ * );
44
+ * }
45
+ * ```
46
+ *
47
+ * ## Acessibilidade
48
+ *
49
+ * - Suporta navegação por teclado (setas, Enter, Esc)
50
+ * - Segue padrões WAI-ARIA via Radix UI
51
+ * - Suporta leitores de tela
52
+ * - Foco gerenciado automaticamente
53
+ *
54
+ * @see [Radix UI Select](https://www.radix-ui.com/primitives/docs/components/select) para mais detalhes
55
+ */
1
56
  import * as SelectPrimitive from "@radix-ui/react-select";
2
57
  import type * as React from "react";
58
+ /**
59
+ * Componente Select (Root) para seleção de opções.
60
+ *
61
+ * @component
62
+ * @param {React.ComponentProps<typeof SelectPrimitive.Root>} props - Props do componente
63
+ * @returns {JSX.Element} Elemento Select renderizado
64
+ */
3
65
  declare function Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
66
  declare function SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
5
67
  declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/forms/select/select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAIpC,iBAAS,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAE9E;AAED,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpF;AAED,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpF;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,IAAgB,EAChB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IACxD,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACzB,2CAiBA;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,QAAmB,EACnB,KAAgB,EAChB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CA6BtD;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQ/F;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAkBnD;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,2CAQxD;AAED,iBAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,cAAc,CAAC,2CAU7D;AAED,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,gBAAgB,CAAC,2CAU/D;AAED,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,CAAC"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/forms/select/select.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAIpC;;;;;;GAMG;AACH,iBAAS,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAE9E;AAED,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpF;AAED,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpF;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,IAAgB,EAChB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IACxD,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACzB,2CAiBA;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,QAAmB,EACnB,KAAgB,EAChB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CA6BtD;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQ/F;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAkBnD;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,2CAQxD;AAED,iBAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,cAAc,CAAC,2CAU7D;AAED,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,gBAAgB,CAAC,2CAU/D;AAED,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,CAAC"}
@@ -1,7 +1,69 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * # Select Component
4
+ *
5
+ * O componente `Select` é um controle de seleção usado para permitir que o usuário escolha
6
+ * uma opção de uma lista de opções. É 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
+ * - **Animações**: Transições suaves de abertura/fechamento
13
+ * - **Busca**: Suporta busca/filtro de opções (via Radix UI)
14
+ * - **Customizável**: Pode ser estilizado via className e props HTML padrão
15
+ *
16
+ * ## Componentes
17
+ *
18
+ * - **Select**: Container raiz do select
19
+ * - **SelectTrigger**: Elemento que dispara o select
20
+ * - **SelectValue**: Exibe o valor selecionado
21
+ * - **SelectContent**: Conteúdo do dropdown
22
+ * - **SelectItem**: Item individual da lista
23
+ * - **SelectLabel**: Label/separador de seção
24
+ * - **SelectGroup**: Agrupa itens relacionados
25
+ * - **SelectSeparator**: Separador visual
26
+ *
27
+ * ## Uso Básico
28
+ *
29
+ * ```tsx
30
+ * import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@flowtomic/ui/components/atoms/forms/select";
31
+ *
32
+ * function MyComponent() {
33
+ * return (
34
+ * <Select>
35
+ * <SelectTrigger>
36
+ * <SelectValue placeholder="Selecione..." />
37
+ * </SelectTrigger>
38
+ * <SelectContent>
39
+ * <SelectItem value="option1">Opção 1</SelectItem>
40
+ * <SelectItem value="option2">Opção 2</SelectItem>
41
+ * <SelectItem value="option3">Opção 3</SelectItem>
42
+ * </SelectContent>
43
+ * </Select>
44
+ * );
45
+ * }
46
+ * ```
47
+ *
48
+ * ## Acessibilidade
49
+ *
50
+ * - Suporta navegação por teclado (setas, Enter, Esc)
51
+ * - Segue padrões WAI-ARIA via Radix UI
52
+ * - Suporta leitores de tela
53
+ * - Foco gerenciado automaticamente
54
+ *
55
+ * @see [Radix UI Select](https://www.radix-ui.com/primitives/docs/components/select) para mais detalhes
56
+ */
2
57
  import * as SelectPrimitive from "@radix-ui/react-select";
3
58
  import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
4
59
  import { cn } from "@/lib/utils";
60
+ /**
61
+ * Componente Select (Root) para seleção de opções.
62
+ *
63
+ * @component
64
+ * @param {React.ComponentProps<typeof SelectPrimitive.Root>} props - Props do componente
65
+ * @returns {JSX.Element} Elemento Select renderizado
66
+ */
5
67
  function Select({ ...props }) {
6
68
  return _jsx(SelectPrimitive.Root, { "data-slot": "select", ...props });
7
69
  }
@@ -1,7 +1,67 @@
1
+ /**
2
+ * # Slider Component
3
+ *
4
+ * O componente `Slider` é um controle deslizante usado para selecionar um valor ou intervalo
5
+ * de valores dentro de um range. É 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
+ * - **Range**: Suporta valores únicos ou intervalos
11
+ * - **Orientação**: Suporta horizontal e vertical
12
+ * - **Customizável**: Valores min/max configuráveis
13
+ * - **Foco Gerenciado**: Foco e navegação por teclado gerenciados automaticamente
14
+ *
15
+ * ## Uso Básico
16
+ *
17
+ * ```tsx
18
+ * import { Slider } from "@flowtomic/ui/components/atoms/forms/slider";
19
+ *
20
+ * function MyComponent() {
21
+ * const [value, setValue] = React.useState([50]);
22
+ *
23
+ * return (
24
+ * <Slider
25
+ * value={value}
26
+ * onValueChange={setValue}
27
+ * min={0}
28
+ * max={100}
29
+ * />
30
+ * );
31
+ * }
32
+ * ```
33
+ *
34
+ * ## Com Intervalo
35
+ *
36
+ * ```tsx
37
+ * <Slider
38
+ * defaultValue={[20, 80]}
39
+ * min={0}
40
+ * max={100}
41
+ * />
42
+ * ```
43
+ *
44
+ * ## Acessibilidade
45
+ *
46
+ * - Suporta navegação por teclado (setas, Home, End)
47
+ * - Segue padrões WAI-ARIA via Radix UI
48
+ * - Suporta leitores de tela
49
+ * - Foco gerenciado automaticamente
50
+ *
51
+ * @see [Radix UI Slider](https://www.radix-ui.com/primitives/docs/components/slider) para mais detalhes
52
+ */
1
53
  import * as SliderPrimitive from "@radix-ui/react-slider";
2
54
  import * as React from "react";
55
+ /**
56
+ * Props do componente Slider.
57
+ *
58
+ * @property {number} [min=0] - Valor mínimo do slider
59
+ * @property {number} [max=100] - Valor máximo do slider
60
+ */
3
61
  export interface SliderProps extends React.ComponentProps<typeof SliderPrimitive.Root> {
62
+ /** Valor mínimo do slider */
4
63
  min?: number;
64
+ /** Valor máximo do slider */
5
65
  max?: number;
6
66
  }
7
67
  declare function Slider({ className, defaultValue, value, min, max, ...props }: SliderProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/forms/slider/slider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,iBAAS,MAAM,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,GAAO,EAAE,GAAS,EAAE,GAAG,KAAK,EAAE,EAAE,WAAW,2CA8C5F;kBA9CQ,MAAM;;;AAkDf,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/forms/slider/slider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;;;;GAKG;AACH,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC;IACpF,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,iBAAS,MAAM,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,GAAO,EAAE,GAAS,EAAE,GAAG,KAAK,EAAE,EAAE,WAAW,2CA+C5F;kBA/CQ,MAAM;;;AAmDf,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1,11 +1,63 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * # Slider Component
4
+ *
5
+ * O componente `Slider` é um controle deslizante usado para selecionar um valor ou intervalo
6
+ * de valores dentro de um range. É 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
+ * - **Range**: Suporta valores únicos ou intervalos
12
+ * - **Orientação**: Suporta horizontal e vertical
13
+ * - **Customizável**: Valores min/max configuráveis
14
+ * - **Foco Gerenciado**: Foco e navegação por teclado gerenciados automaticamente
15
+ *
16
+ * ## Uso Básico
17
+ *
18
+ * ```tsx
19
+ * import { Slider } from "@flowtomic/ui/components/atoms/forms/slider";
20
+ *
21
+ * function MyComponent() {
22
+ * const [value, setValue] = React.useState([50]);
23
+ *
24
+ * return (
25
+ * <Slider
26
+ * value={value}
27
+ * onValueChange={setValue}
28
+ * min={0}
29
+ * max={100}
30
+ * />
31
+ * );
32
+ * }
33
+ * ```
34
+ *
35
+ * ## Com Intervalo
36
+ *
37
+ * ```tsx
38
+ * <Slider
39
+ * defaultValue={[20, 80]}
40
+ * min={0}
41
+ * max={100}
42
+ * />
43
+ * ```
44
+ *
45
+ * ## Acessibilidade
46
+ *
47
+ * - Suporta navegação por teclado (setas, Home, End)
48
+ * - Segue padrões WAI-ARIA via Radix UI
49
+ * - Suporta leitores de tela
50
+ * - Foco gerenciado automaticamente
51
+ *
52
+ * @see [Radix UI Slider](https://www.radix-ui.com/primitives/docs/components/slider) para mais detalhes
53
+ */
2
54
  import * as SliderPrimitive from "@radix-ui/react-slider";
3
55
  import * as React from "react";
4
56
  import { cn } from "@/lib/utils";
5
57
  function Slider({ className, defaultValue, value, min = 0, max = 100, ...props }) {
6
58
  const _values = React.useMemo(() => (Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max]), [value, defaultValue, min, max]);
7
59
  const thumbKeys = React.useMemo(() => _values.map((val, idx) => `slider-thumb-${val}-${idx}`), [_values]);
8
- return (_jsxs(SliderPrimitive.Root, { "data-slot": "slider", defaultValue: defaultValue, value: value, min: min, max: max, className: cn("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col", className), ...props, children: [_jsx(SliderPrimitive.Track, { "data-slot": "slider-track", className: cn("bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"), children: _jsx(SliderPrimitive.Range, { "data-slot": "slider-range", className: cn("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full") }) }), _values.map((_val, index) => (_jsx(SliderPrimitive.Thumb, { "data-slot": "slider-thumb", className: "border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50" }, thumbKeys[index])))] }));
60
+ return (_jsxs(SliderPrimitive.Root, { "data-slot": "slider", defaultValue: defaultValue, value: value, min: min, max: max, className: cn("relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col", className), ...props, children: [_jsx(SliderPrimitive.Track, { "data-slot": "slider-track", className: cn("bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"), children: _jsx(SliderPrimitive.Range, { "data-slot": "slider-range", className: cn("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full") }) }), _values.map((_val, index) => (_jsx(SliderPrimitive.Thumb, { "data-slot": "slider-thumb", "aria-label": props["aria-label"], className: "border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50" }, thumbKeys[index])))] }));
9
61
  }
10
62
  Slider.displayName = "Slider";
11
63
  export { Slider };