@flowtomic/ui 0.1.2 → 0.1.4

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 (75) hide show
  1. package/dist/blocks/developer-panel/page.d.ts.map +1 -1
  2. package/dist/blocks/developer-panel/page.js +2 -2
  3. package/dist/components/atoms/actions/badge/badge.d.ts +2 -2
  4. package/dist/components/atoms/actions/button/button.d.ts +2 -2
  5. package/dist/components/atoms/animation/encrypted-text/encrypted-text.d.ts +57 -0
  6. package/dist/components/atoms/animation/encrypted-text/encrypted-text.d.ts.map +1 -0
  7. package/dist/components/atoms/animation/encrypted-text/encrypted-text.js +104 -0
  8. package/dist/components/atoms/animation/encrypted-text/index.d.ts +3 -0
  9. package/dist/components/atoms/animation/encrypted-text/index.d.ts.map +1 -0
  10. package/dist/components/atoms/animation/encrypted-text/index.js +1 -0
  11. package/dist/components/atoms/animation/index.d.ts +2 -0
  12. package/dist/components/atoms/animation/index.d.ts.map +1 -1
  13. package/dist/components/atoms/animation/index.js +1 -0
  14. package/dist/components/atoms/feedback/alert/alert.d.ts +1 -1
  15. package/dist/components/atoms/feedback/alert-dialog/alert-dialog.d.ts +2 -2
  16. package/dist/components/atoms/feedback/tooltip/index.d.ts +1 -1
  17. package/dist/components/atoms/feedback/tooltip/index.d.ts.map +1 -1
  18. package/dist/components/atoms/feedback/tooltip/index.js +1 -1
  19. package/dist/components/atoms/feedback/tooltip/tooltip.d.ts +42 -5
  20. package/dist/components/atoms/feedback/tooltip/tooltip.d.ts.map +1 -1
  21. package/dist/components/atoms/feedback/tooltip/tooltip.js +188 -5
  22. package/dist/components/atoms/forms/autocomplete/autocomplete-context.d.ts +29 -0
  23. package/dist/components/atoms/forms/autocomplete/autocomplete-context.d.ts.map +1 -0
  24. package/dist/components/atoms/forms/autocomplete/autocomplete-context.js +10 -0
  25. package/dist/components/atoms/forms/autocomplete/autocomplete-item.d.ts +16 -0
  26. package/dist/components/atoms/forms/autocomplete/autocomplete-item.d.ts.map +1 -0
  27. package/dist/components/atoms/forms/autocomplete/autocomplete-item.js +48 -0
  28. package/dist/components/atoms/forms/autocomplete/autocomplete-section.d.ts +14 -0
  29. package/dist/components/atoms/forms/autocomplete/autocomplete-section.d.ts.map +1 -0
  30. package/dist/components/atoms/forms/autocomplete/autocomplete-section.js +13 -0
  31. package/dist/components/atoms/forms/autocomplete/autocomplete.d.ts +13 -9
  32. package/dist/components/atoms/forms/autocomplete/autocomplete.d.ts.map +1 -1
  33. package/dist/components/atoms/forms/autocomplete/autocomplete.js +295 -87
  34. package/dist/components/atoms/forms/autocomplete/index.d.ts +6 -0
  35. package/dist/components/atoms/forms/autocomplete/index.d.ts.map +1 -1
  36. package/dist/components/atoms/forms/autocomplete/index.js +3 -0
  37. package/dist/components/atoms/forms/index.d.ts +0 -2
  38. package/dist/components/atoms/forms/index.d.ts.map +1 -1
  39. package/dist/components/atoms/forms/index.js +0 -1
  40. package/dist/components/atoms/forms/input/input.d.ts +2 -2
  41. package/dist/components/atoms/forms/toggle/toggle.d.ts +2 -2
  42. package/dist/components/atoms/layout/sidebar/sidebar.d.ts +2 -2
  43. package/dist/components/atoms/navigation/command/command.d.ts +7 -7
  44. package/dist/components/atoms/navigation/tabs/tabs.js +2 -2
  45. package/dist/components/molecules/auth/auth-navigation-link/auth-navigation-link.d.ts +1 -11
  46. package/dist/components/molecules/auth/auth-navigation-link/auth-navigation-link.d.ts.map +1 -1
  47. package/dist/components/molecules/auth/auth-navigation-link/auth-navigation-link.js +2 -3
  48. package/dist/components/molecules/forms/autocomplete/autocomplete-context.d.ts +16 -0
  49. package/dist/components/molecules/forms/autocomplete/autocomplete-context.d.ts.map +1 -0
  50. package/dist/components/molecules/forms/autocomplete/autocomplete-context.js +14 -0
  51. package/dist/components/molecules/forms/autocomplete/autocomplete-item.d.ts +23 -0
  52. package/dist/components/molecules/forms/autocomplete/autocomplete-item.d.ts.map +1 -0
  53. package/dist/components/molecules/forms/autocomplete/autocomplete-item.js +29 -0
  54. package/dist/components/molecules/forms/autocomplete/autocomplete-section.d.ts +19 -0
  55. package/dist/components/molecules/forms/autocomplete/autocomplete-section.d.ts.map +1 -0
  56. package/dist/components/molecules/forms/autocomplete/autocomplete-section.js +13 -0
  57. package/dist/components/molecules/forms/autocomplete/autocomplete.d.ts +33 -0
  58. package/dist/components/molecules/forms/autocomplete/autocomplete.d.ts.map +1 -0
  59. package/dist/components/molecules/forms/autocomplete/autocomplete.js +101 -0
  60. package/dist/components/molecules/forms/autocomplete/index.d.ts +9 -0
  61. package/dist/components/molecules/forms/autocomplete/index.d.ts.map +1 -0
  62. package/dist/components/molecules/forms/autocomplete/index.js +4 -0
  63. package/dist/components/molecules/forms/item/item.d.ts +3 -3
  64. package/dist/components/molecules/index.d.ts +2 -2
  65. package/dist/components/molecules/index.d.ts.map +1 -1
  66. package/dist/components/molecules/index.js +1 -1
  67. package/dist/components/molecules/navigation/menu-dock/menu-dock.d.ts +5 -0
  68. package/dist/components/molecules/navigation/menu-dock/menu-dock.d.ts.map +1 -1
  69. package/dist/components/molecules/navigation/menu-dock/menu-dock.js +103 -10
  70. package/dist/components/molecules/typography/index.d.ts +0 -2
  71. package/dist/components/molecules/typography/index.d.ts.map +1 -1
  72. package/dist/components/molecules/typography/index.js +1 -1
  73. package/dist/components/organisms/model-selector/model-selector.d.ts +1 -1
  74. package/dist/index.js +460 -498
  75. package/package.json +28 -17
@@ -2,8 +2,8 @@ import * as TogglePrimitive from "@radix-ui/react-toggle";
2
2
  import { type VariantProps } from "class-variance-authority";
3
3
  import type * as React from "react";
4
4
  declare const toggleVariants: (props?: ({
5
- variant?: "default" | "outline" | null | undefined;
6
- size?: "default" | "sm" | "lg" | null | undefined;
5
+ variant?: "outline" | "default" | null | undefined;
6
+ size?: "sm" | "default" | "lg" | null | undefined;
7
7
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
8
  export interface ToggleProps extends React.ComponentProps<typeof TogglePrimitive.Root>, VariantProps<typeof toggleVariants> {
9
9
  }
@@ -106,8 +106,8 @@ declare namespace SidebarMenuItem {
106
106
  var displayName: string;
107
107
  }
108
108
  declare const sidebarMenuButtonVariants: (props?: ({
109
- variant?: "default" | "outline" | null | undefined;
110
- size?: "default" | "sm" | "lg" | null | undefined;
109
+ variant?: "outline" | "default" | null | undefined;
110
+ size?: "sm" | "default" | "lg" | null | undefined;
111
111
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
112
112
  export interface SidebarMenuButtonProps extends React.ComponentProps<"button">, VariantProps<typeof sidebarMenuButtonVariants> {
113
113
  asChild?: boolean;
@@ -23,7 +23,7 @@ declare const Command: React.ForwardRefExoticComponent<Omit<{
23
23
  ref?: React.Ref<HTMLDivElement>;
24
24
  } & {
25
25
  asChild?: boolean;
26
- }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
26
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
27
27
  label?: string;
28
28
  shouldFilter?: boolean;
29
29
  filter?: (value: string, search: string, keywords?: string[]) => number;
@@ -48,7 +48,7 @@ declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<
48
48
  ref?: React.Ref<HTMLInputElement>;
49
49
  } & {
50
50
  asChild?: boolean;
51
- }, "asChild" | "key" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "onChange" | "type" | "value"> & {
51
+ }, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "onChange" | "type" | "value"> & {
52
52
  value?: string;
53
53
  onValueChange?: (search: string) => void;
54
54
  } & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
@@ -61,7 +61,7 @@ declare const CommandList: React.ForwardRefExoticComponent<Omit<{
61
61
  ref?: React.Ref<HTMLDivElement>;
62
62
  } & {
63
63
  asChild?: boolean;
64
- }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
64
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
65
65
  label?: string;
66
66
  } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
67
67
  /**
@@ -73,7 +73,7 @@ declare const CommandEmpty: React.ForwardRefExoticComponent<Omit<{
73
73
  ref?: React.Ref<HTMLDivElement>;
74
74
  } & {
75
75
  asChild?: boolean;
76
- }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
76
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
77
77
  /**
78
78
  * CommandGroup - Grupo do command
79
79
  */
@@ -83,7 +83,7 @@ declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
83
83
  ref?: React.Ref<HTMLDivElement>;
84
84
  } & {
85
85
  asChild?: boolean;
86
- }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>>, "heading" | "value"> & {
86
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "heading" | "value"> & {
87
87
  heading?: React.ReactNode;
88
88
  value?: string;
89
89
  forceMount?: boolean;
@@ -95,7 +95,7 @@ declare const CommandSeparator: React.ForwardRefExoticComponent<Omit<Pick<Pick<R
95
95
  ref?: React.Ref<HTMLDivElement>;
96
96
  } & {
97
97
  asChild?: boolean;
98
- }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
98
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
99
99
  alwaysRender?: boolean;
100
100
  } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
101
101
  /**
@@ -107,7 +107,7 @@ declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
107
107
  ref?: React.Ref<HTMLDivElement>;
108
108
  } & {
109
109
  asChild?: boolean;
110
- }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>>, "onSelect" | "disabled" | "value"> & {
110
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "onSelect" | "disabled" | "value"> & {
111
111
  disabled?: boolean;
112
112
  onSelect?: (value: string) => void;
113
113
  value?: string;
@@ -41,7 +41,7 @@ const TabsList = React.forwardRef(({ className, ...props }, ref) => {
41
41
  ref.current = node;
42
42
  }
43
43
  listRef.current = node;
44
- }, className: cn("relative inline-flex h-10 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground", className), ...props, children: [props.children, _jsx(motion.div, { className: "absolute rounded-md bg-background shadow-sm", initial: false, animate: shouldReduceMotion
44
+ }, className: cn("relative inline-flex h-10 items-center justify-center rounded-lg bg-muted/50 p-1 text-muted-foreground", className), ...props, children: [props.children, _jsx(motion.div, { className: "absolute rounded-md bg-primary/10", initial: false, animate: shouldReduceMotion
45
45
  ? {
46
46
  opacity: indicatorStyle.opacity,
47
47
  }
@@ -88,7 +88,7 @@ const TabsTrigger = React.forwardRef(({ className, value, ...props }, ref) => {
88
88
  node.setAttribute("data-value", value);
89
89
  context.registerTrigger(node, value);
90
90
  }
91
- }, value: value, "data-value": value, className: cn("relative inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1.5 text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:text-foreground", className), ...props, children: _jsx("span", { className: "relative z-10", children: props.children }) }));
91
+ }, value: value, "data-value": value, className: cn("relative inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1.5 text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 text-muted-foreground hover:text-foreground data-[state=active]:bg-primary/10 data-[state=active]:text-primary", className), ...props, children: _jsx("span", { className: "relative z-10", children: props.children }) }));
92
92
  });
93
93
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
94
94
  const TabsContent = React.forwardRef(({ className, value, ...props }, ref) => {
@@ -33,21 +33,11 @@ export interface AuthNavigationLinkProps {
33
33
  * Classe CSS adicional
34
34
  */
35
35
  className?: string;
36
- /**
37
- * Se true, aplica efeito de texto animado (AnimatedShinyText) no linkText
38
- * @default false
39
- */
40
- animated?: boolean;
41
- /**
42
- * Largura do shimmer para o efeito animado (apenas quando animated=true)
43
- * @default 100
44
- */
45
- shimmerWidth?: number;
46
36
  }
47
37
  /**
48
38
  * Componente reutilizável para links de navegação entre páginas de autenticação
49
39
  *
50
40
  * Usado em Login e Register para navegação entre as páginas
51
41
  */
52
- export declare function AuthNavigationLink({ text, linkText, to, LinkComponent, className, animated, shimmerWidth, }: AuthNavigationLinkProps): import("react/jsx-runtime").JSX.Element;
42
+ export declare function AuthNavigationLink({ text, linkText, to, LinkComponent, className, }: AuthNavigationLinkProps): import("react/jsx-runtime").JSX.Element;
53
43
  //# sourceMappingURL=auth-navigation-link.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-navigation-link.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/auth/auth-navigation-link/auth-navigation-link.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAClC,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;KAC3B,CAAC,CAAC;IACH;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,EAAE,EACF,aAAa,EACb,SAAc,EACd,QAAgB,EAChB,YAAkB,GACnB,EAAE,uBAAuB,2CAsCzB"}
1
+ {"version":3,"file":"auth-navigation-link.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/auth/auth-navigation-link/auth-navigation-link.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAClC,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;KAC3B,CAAC,CAAC;IACH;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,EAAE,EACF,aAAa,EACb,SAAc,GACf,EAAE,uBAAuB,2CAkBzB"}
@@ -1,12 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { AnimatedShinyText } from "../../typography/animated-shiny-text";
3
2
  /**
4
3
  * Componente reutilizável para links de navegação entre páginas de autenticação
5
4
  *
6
5
  * Usado em Login e Register para navegação entre as páginas
7
6
  */
8
- export function AuthNavigationLink({ text, linkText, to, LinkComponent, className = "", animated = false, shimmerWidth = 100, }) {
7
+ export function AuthNavigationLink({ text, linkText, to, LinkComponent, className = "", }) {
9
8
  const linkClassName = "text-[#5B5FED] dark:text-[#7B7FFF] hover:underline font-semibold";
10
- const linkContent = animated ? (LinkComponent ? (_jsx(LinkComponent, { to: to, className: linkClassName, children: _jsx(AnimatedShinyText, { shimmerWidth: shimmerWidth, className: "bg-gradient-to-r from-[#5B5FED] from-0% via-white via-50% to-[#5B5FED] to-100% dark:from-[#7B7FFF] dark:via-white dark:to-[#7B7FFF]", children: linkText }) })) : (_jsx("a", { href: to, className: linkClassName, children: _jsx(AnimatedShinyText, { shimmerWidth: shimmerWidth, className: "bg-gradient-to-r from-[#5B5FED] from-0% via-white via-50% to-[#5B5FED] to-100% dark:from-[#7B7FFF] dark:via-white dark:to-[#7B7FFF]", children: linkText }) }))) : LinkComponent ? (_jsx(LinkComponent, { to: to, className: linkClassName, children: linkText })) : (_jsx("a", { href: to, className: linkClassName, children: linkText }));
9
+ const linkContent = LinkComponent ? (_jsx(LinkComponent, { to: to, className: linkClassName, children: linkText })) : (_jsx("a", { href: to, className: linkClassName, children: linkText }));
11
10
  return (_jsxs("p", { className: `text-center text-sm text-gray-600 dark:text-gray-300 ${className}`, children: [text, " ", linkContent] }));
12
11
  }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * AutocompleteContext - Context para Compound Components
3
+ *
4
+ * Fornece estado e helpers do hook useAutocomplete para subcomponentes
5
+ */
6
+ import { type UseAutocompleteReturn } from "flowtomic/logic";
7
+ import * as React from "react";
8
+ export interface AutocompleteContextValue extends UseAutocompleteReturn {
9
+ size?: "sm" | "default" | "lg";
10
+ disabled?: boolean;
11
+ maxListboxHeight?: string;
12
+ emptyMessage?: string;
13
+ }
14
+ export declare const AutocompleteContext: React.Context<AutocompleteContextValue | undefined>;
15
+ export declare function useAutocompleteContext(): AutocompleteContextValue;
16
+ //# sourceMappingURL=autocomplete-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-context.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/forms/autocomplete/autocomplete-context.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,wBAAyB,SAAQ,qBAAqB;IACrE,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,mBAAmB,qDAEpB,CAAC;AAEb,wBAAgB,sBAAsB,IAAI,wBAAwB,CAQjE"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * AutocompleteContext - Context para Compound Components
3
+ *
4
+ * Fornece estado e helpers do hook useAutocomplete para subcomponentes
5
+ */
6
+ import * as React from "react";
7
+ export const AutocompleteContext = React.createContext(undefined);
8
+ export function useAutocompleteContext() {
9
+ const context = React.useContext(AutocompleteContext);
10
+ if (!context) {
11
+ throw new Error("useAutocompleteContext must be used within Autocomplete component");
12
+ }
13
+ return context;
14
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * AutocompleteItem - Item da lista de opções
3
+ *
4
+ * Subcomponente para modo composição
5
+ */
6
+ import * as React from "react";
7
+ export interface AutocompleteItemProps extends React.HTMLAttributes<HTMLLIElement> {
8
+ /**
9
+ * Valor do item
10
+ */
11
+ value: string;
12
+ /**
13
+ * Se o item está desabilitado
14
+ */
15
+ disabled?: boolean;
16
+ /**
17
+ * Conteúdo do item
18
+ */
19
+ children?: React.ReactNode;
20
+ }
21
+ declare const AutocompleteItem: React.ForwardRefExoticComponent<AutocompleteItemProps & React.RefAttributes<HTMLLIElement>>;
22
+ export { AutocompleteItem };
23
+ //# sourceMappingURL=autocomplete-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-item.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/forms/autocomplete/autocomplete-item.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,WAAW,qBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC;IAC3C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,QAAA,MAAM,gBAAgB,6FAiDrB,CAAC;AAIF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { cn } from "@/lib/utils";
4
+ import { useAutocompleteContext } from "./autocomplete-context";
5
+ const AutocompleteItem = React.forwardRef(({ className, value, disabled, children, ...props }, ref) => {
6
+ const context = useAutocompleteContext();
7
+ // Encontrar o item correspondente
8
+ const item = context.filteredItems.find((i) => i.value === value);
9
+ if (!item) {
10
+ // Se não encontrou, criar um item temporário para composição
11
+ const tempItem = {
12
+ value,
13
+ label: typeof children === "string" ? children : value,
14
+ disabled,
15
+ };
16
+ const itemProps = context.getItemProps(tempItem, {
17
+ ...props,
18
+ className,
19
+ });
20
+ return (_jsx("li", { ...itemProps, ref: ref, className: cn("cursor-pointer px-2 py-1.5", className), children: children || value }));
21
+ }
22
+ const itemProps = context.getItemProps(item, {
23
+ ...props,
24
+ className,
25
+ });
26
+ return (_jsx("li", { ...itemProps, ref: ref, className: cn("cursor-pointer rounded-sm px-2 py-1.5 text-sm outline-none transition-colors", "hover:bg-accent focus:bg-accent", item.disabled && "pointer-events-none opacity-50", className), children: children || item.label }));
27
+ });
28
+ AutocompleteItem.displayName = "AutocompleteItem";
29
+ export { AutocompleteItem };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * AutocompleteSection - Seção de agrupamento de items
3
+ *
4
+ * Subcomponente para modo composição
5
+ */
6
+ import * as React from "react";
7
+ export interface AutocompleteSectionProps extends React.HTMLAttributes<HTMLDivElement> {
8
+ /**
9
+ * Título da seção
10
+ */
11
+ title?: string;
12
+ /**
13
+ * Conteúdo da seção (items)
14
+ */
15
+ children?: React.ReactNode;
16
+ }
17
+ declare const AutocompleteSection: React.ForwardRefExoticComponent<AutocompleteSectionProps & React.RefAttributes<HTMLDivElement>>;
18
+ export { AutocompleteSection };
19
+ //# sourceMappingURL=autocomplete-section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-section.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/forms/autocomplete/autocomplete-section.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,wBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,QAAA,MAAM,mBAAmB,iGAsBvB,CAAC;AAIH,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * AutocompleteSection - Seção de agrupamento de items
4
+ *
5
+ * Subcomponente para modo composição
6
+ */
7
+ import * as React from "react";
8
+ import { cn } from "@/lib/utils";
9
+ const AutocompleteSection = React.forwardRef(({ className, title, children, ...props }, ref) => {
10
+ return (_jsxs("div", { ref: ref, ...props, className: cn("space-y-1", className), role: "group", "aria-label": title, children: [title && (_jsx("div", { className: "px-2 py-1.5 text-xs font-semibold text-muted-foreground", children: title })), _jsx("ul", { role: "group", className: "space-y-0.5", children: children })] }));
11
+ });
12
+ AutocompleteSection.displayName = "AutocompleteSection";
13
+ export { AutocompleteSection };
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Autocomplete Component - Flowtomic UI
3
+ *
4
+ * Componente de autocomplete usando hook headless useAutocomplete
5
+ * Suporta API antiga (options) e composição (Compound Components)
6
+ */
7
+ import * as React from "react";
8
+ import { type AutocompleteOption } from "flowtomic/logic";
9
+ export interface AutocompleteProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size" | "value" | "onChange" | "defaultValue"> {
10
+ options?: AutocompleteOption[];
11
+ value?: string;
12
+ defaultValue?: string;
13
+ onValueChange?: (value: string | undefined) => void;
14
+ placeholder?: string;
15
+ disabled?: boolean;
16
+ size?: "sm" | "default" | "lg";
17
+ className?: string;
18
+ inputClassName?: string;
19
+ emptyMessage?: string;
20
+ filterFunction?: (option: AutocompleteOption, searchTerm: string) => boolean;
21
+ allowCustomValue?: boolean;
22
+ isLoading?: boolean;
23
+ maxListboxHeight?: string;
24
+ children?: React.ReactNode;
25
+ }
26
+ export declare const Autocomplete: React.ForwardRefExoticComponent<AutocompleteProps & React.RefAttributes<HTMLInputElement>> & {
27
+ List: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLUListElement> & React.RefAttributes<HTMLUListElement>>;
28
+ Empty: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
29
+ Loading: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
30
+ Item: React.ForwardRefExoticComponent<import("./autocomplete-item").AutocompleteItemProps & React.RefAttributes<HTMLLIElement>>;
31
+ Section: React.ForwardRefExoticComponent<import("./autocomplete-section").AutocompleteSectionProps & React.RefAttributes<HTMLDivElement>>;
32
+ };
33
+ //# sourceMappingURL=autocomplete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/forms/autocomplete/autocomplete.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAmB,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAoC3E,MAAM,WAAW,iBACf,SAAQ,IAAI,CACV,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAC3C,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,cAAc,CAC/C;IAED,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAEpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAoPD,eAAO,MAAM,YAAY;;;;;;CAMvB,CAAC"}
@@ -0,0 +1,101 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /**
3
+ * Autocomplete Component - Flowtomic UI
4
+ *
5
+ * Componente de autocomplete usando hook headless useAutocomplete
6
+ * Suporta API antiga (options) e composição (Compound Components)
7
+ */
8
+ // React e types
9
+ import * as React from "react";
10
+ // Hooks Flowtomic
11
+ import { useAutocomplete } from "flowtomic/logic";
12
+ // Ícones
13
+ import { ChevronDownIcon, XIcon } from "lucide-react";
14
+ // Utils
15
+ import { cn } from "@/lib/utils";
16
+ import { inputVariants } from "../../../atoms/forms/input/input";
17
+ import { Spinner } from "../../../atoms/animation/spinner/spinner";
18
+ // Feedback/Overlay
19
+ import { Popover, PopoverContent, PopoverTrigger, } from "../../../atoms/feedback/popover/popover";
20
+ // Context/Composição
21
+ import { AutocompleteContext, } from "./autocomplete-context";
22
+ import { AutocompleteItem } from "./autocomplete-item";
23
+ import { AutocompleteSection } from "./autocomplete-section";
24
+ const AutocompleteRoot = React.forwardRef(({ options = [], value: controlledValue, defaultValue, onValueChange, placeholder = "Selecione uma opção...", disabled = false, size = "default", className, inputClassName, emptyMessage = "Nenhum resultado encontrado.", filterFunction, allowCustomValue = false, isLoading = false, maxListboxHeight = "300px", children, id, ...props }, ref) => {
25
+ // Determinar se está usando composição
26
+ const useComposition = children !== undefined;
27
+ // Hook headless
28
+ const hookReturn = useAutocomplete({
29
+ options: useComposition ? undefined : options,
30
+ value: controlledValue,
31
+ defaultValue,
32
+ onValueChange,
33
+ filterFunction,
34
+ allowCustomValue,
35
+ isLoading,
36
+ emptyMessage,
37
+ children: useComposition ? children : undefined,
38
+ });
39
+ const { inputValue, selectedValue, isOpen, filteredItems, getInputProps, getPopoverProps, getListProps, getItemProps, open, close, clear, } = hookReturn;
40
+ // Input props
41
+ const inputProps = getInputProps({
42
+ ...props,
43
+ id,
44
+ placeholder,
45
+ disabled,
46
+ className: cn(inputVariants({ size }), "pr-8", inputClassName),
47
+ });
48
+ // Context value
49
+ const contextValue = {
50
+ ...hookReturn,
51
+ size,
52
+ disabled,
53
+ maxListboxHeight,
54
+ emptyMessage,
55
+ };
56
+ return (_jsx(AutocompleteContext.Provider, { value: contextValue, children: _jsx("div", { className: cn("relative w-full", className), children: _jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs("div", { className: "relative", children: [_jsx("input", { ...inputProps, ref: ref }), _jsxs("div", { className: "absolute right-2 top-1/2 -translate-y-1/2 flex items-center gap-1 pointer-events-none", children: [selectedValue && !disabled && (_jsxs("button", { type: "button", onClick: (e) => {
57
+ e.stopPropagation();
58
+ e.preventDefault();
59
+ clear();
60
+ }, onMouseDown: (e) => {
61
+ e.preventDefault();
62
+ e.stopPropagation();
63
+ }, className: "text-muted-foreground hover:text-foreground rounded-sm p-1 opacity-70 hover:opacity-100 transition-opacity focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring pointer-events-auto", children: [_jsx(XIcon, { className: "size-4" }), _jsx("span", { className: "sr-only", children: "Limpar" })] })), _jsx(ChevronDownIcon, { className: cn("size-4 text-muted-foreground transition-transform", isOpen && "rotate-180") })] })] }) }), _jsx(PopoverContent, { ...getPopoverProps(), className: cn("bg-popover text-popover-foreground", "data-[state=open]:animate-in data-[state=closed]:animate-out", "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95", "data-[side=bottom]:slide-in-from-top-2", "data-[side=left]:slide-in-from-right-2", "data-[side=right]:slide-in-from-left-2", "data-[side=top]:slide-in-from-bottom-2", "relative z-50", "min-w-[var(--radix-popover-trigger-width)] w-full", "overflow-hidden rounded-md border shadow-md p-0"), align: "start", sideOffset: 4, onOpenAutoFocus: (e) => {
64
+ e.preventDefault();
65
+ }, children: _jsx("div", { style: { maxHeight: maxListboxHeight }, className: "overflow-auto", children: isLoading ? (_jsxs("div", { className: "py-6 text-center text-sm text-muted-foreground", children: [_jsx(Spinner, { className: "mx-auto mb-2" }), "Carregando..."] })) : useComposition ? (children) : filteredItems.length > 0 ? (_jsx("ul", { ...getListProps(), className: "p-1 outline-none", children: filteredItems.map((item) => {
66
+ const itemProps = getItemProps(item);
67
+ return (_jsx("li", { ...itemProps, className: cn("cursor-pointer rounded-sm px-2 py-1.5 text-sm outline-none transition-colors", "hover:bg-accent focus:bg-accent", item.disabled && "pointer-events-none opacity-50", itemProps.className), children: item.label }, item.value));
68
+ }) })) : (_jsx("div", { className: "py-6 text-center text-sm text-muted-foreground", children: emptyMessage })) }) })] }) }) }));
69
+ });
70
+ AutocompleteRoot.displayName = "Autocomplete";
71
+ // Subcomponentes para composição
72
+ const AutocompleteList = React.forwardRef(({ className, children, ...props }, ref) => {
73
+ const context = React.useContext(AutocompleteContext);
74
+ if (!context) {
75
+ throw new Error("AutocompleteList must be used within Autocomplete component");
76
+ }
77
+ const { getListProps } = context;
78
+ return (_jsx("ul", { ...getListProps(), ...props, ref: ref, className: cn("p-1 outline-none", className), children: children }));
79
+ });
80
+ AutocompleteList.displayName = "AutocompleteList";
81
+ const AutocompleteEmpty = React.forwardRef(({ className, children, ...props }, ref) => {
82
+ const context = React.useContext(AutocompleteContext);
83
+ if (!context) {
84
+ throw new Error("AutocompleteEmpty must be used within Autocomplete component");
85
+ }
86
+ const { emptyMessage } = context;
87
+ return (_jsx("div", { ref: ref, ...props, className: cn("py-6 text-center text-sm text-muted-foreground", className), children: children || emptyMessage }));
88
+ });
89
+ AutocompleteEmpty.displayName = "AutocompleteEmpty";
90
+ const AutocompleteLoading = React.forwardRef(({ className, children, ...props }, ref) => {
91
+ return (_jsx("div", { ref: ref, ...props, className: cn("py-6 text-center text-sm text-muted-foreground", className), children: children || (_jsxs(_Fragment, { children: [_jsx(Spinner, { className: "mx-auto mb-2" }), "Carregando..."] })) }));
92
+ });
93
+ AutocompleteLoading.displayName = "AutocompleteLoading";
94
+ // Exportar componente composto
95
+ export const Autocomplete = Object.assign(AutocompleteRoot, {
96
+ List: AutocompleteList,
97
+ Empty: AutocompleteEmpty,
98
+ Loading: AutocompleteLoading,
99
+ Item: AutocompleteItem,
100
+ Section: AutocompleteSection,
101
+ });
@@ -0,0 +1,9 @@
1
+ export type { AutocompleteProps } from "./autocomplete";
2
+ export { Autocomplete } from "./autocomplete";
3
+ export type { AutocompleteItemProps } from "./autocomplete-item";
4
+ export { AutocompleteItem } from "./autocomplete-item";
5
+ export type { AutocompleteSectionProps } from "./autocomplete-section";
6
+ export { AutocompleteSection } from "./autocomplete-section";
7
+ export type { AutocompleteContextValue } from "./autocomplete-context";
8
+ export { useAutocompleteContext } from "./autocomplete-context";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/forms/autocomplete/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,YAAY,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { Autocomplete } from "./autocomplete";
2
+ export { AutocompleteItem } from "./autocomplete-item";
3
+ export { AutocompleteSection } from "./autocomplete-section";
4
+ export { useAutocompleteContext } from "./autocomplete-context";
@@ -13,8 +13,8 @@ declare namespace ItemSeparator {
13
13
  var displayName: string;
14
14
  }
15
15
  declare const itemVariants: (props?: ({
16
- variant?: "default" | "outline" | "muted" | null | undefined;
17
- size?: "default" | "sm" | null | undefined;
16
+ variant?: "outline" | "default" | "muted" | null | undefined;
17
+ size?: "sm" | "default" | null | undefined;
18
18
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
19
19
  export interface ItemProps extends React.ComponentProps<"div">, VariantProps<typeof itemVariants> {
20
20
  asChild?: boolean;
@@ -24,7 +24,7 @@ declare namespace Item {
24
24
  var displayName: string;
25
25
  }
26
26
  declare const itemMediaVariants: (props?: ({
27
- variant?: "default" | "icon" | "image" | null | undefined;
27
+ variant?: "image" | "default" | "icon" | null | undefined;
28
28
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
29
29
  export interface ItemMediaProps extends React.ComponentProps<"div">, VariantProps<typeof itemMediaVariants> {
30
30
  }
@@ -52,6 +52,8 @@ export { Confirmation, ConfirmationAccepted, ConfirmationAction, ConfirmationAct
52
52
  export type { CanvasProps } from "./flow/canvas";
53
53
  export { Canvas } from "./flow/canvas";
54
54
  export { Connection } from "./flow/connection";
55
+ export type { AutocompleteContextValue, AutocompleteItemProps, AutocompleteProps, AutocompleteSectionProps, } from "./forms/autocomplete";
56
+ export { Autocomplete, AutocompleteItem, AutocompleteSection, useAutocompleteContext, } from "./forms/autocomplete";
55
57
  export type { ButtonGroupProps, ButtonGroupSeparatorProps, ButtonGroupTextProps, } from "./forms/button-group";
56
58
  export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText } from "./forms/button-group";
57
59
  export type { ImageDropzoneProps } from "./forms/image-dropzone";
@@ -68,6 +70,4 @@ export type { MobileAppCard, NavigationItem, SidebarNavigationProps, } from "./n
68
70
  export { SidebarNavigation } from "./navigation/sidebar-navigation";
69
71
  export type { StartPosition, ThemeToggleButtonProps, } from "./theme/theme-toggle-button/theme-toggle-button";
70
72
  export { ThemeToggleButton } from "./theme/theme-toggle-button/theme-toggle-button";
71
- export type { AnimatedShinyTextProps } from "./typography";
72
- export { AnimatedShinyText } from "./typography";
73
73
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/molecules/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/molecules/index.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ export { Tool, ToolContent, ToolHeader, ToolInput, ToolOutput } from "./data-dis
27
27
  export { Confirmation, ConfirmationAccepted, ConfirmationAction, ConfirmationActions, ConfirmationRejected, ConfirmationRequest, ConfirmationTitle, } from "./feedback/confirmation";
28
28
  export { Canvas } from "./flow/canvas";
29
29
  export { Connection } from "./flow/connection";
30
+ export { Autocomplete, AutocompleteItem, AutocompleteSection, useAutocompleteContext, } from "./forms/autocomplete";
30
31
  export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText } from "./forms/button-group";
31
32
  export { ImageDropzone } from "./forms/image-dropzone";
32
33
  export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupTextarea, } from "./forms/input-group";
@@ -35,4 +36,3 @@ export { DashboardHeader } from "./layout/dashboard-header";
35
36
  export { MenuDock } from "./navigation/menu-dock";
36
37
  export { SidebarNavigation } from "./navigation/sidebar-navigation";
37
38
  export { ThemeToggleButton } from "./theme/theme-toggle-button/theme-toggle-button";
38
- export { AnimatedShinyText } from "./typography";
@@ -2,6 +2,7 @@
2
2
  * MenuDock - Componente Molecule
3
3
  *
4
4
  * Componente de dock de menu com animação e suporte a múltiplos itens
5
+ * Suporta duas animações: "default" (underline animado) e "floating" (estilo macOS)
5
6
  */
6
7
  import type React from "react";
7
8
  type IconComponentType = React.ElementType<{
@@ -13,6 +14,7 @@ export interface MenuDockItem {
13
14
  icon: IconComponentType;
14
15
  onClick?: () => void;
15
16
  path?: string;
17
+ href?: string;
16
18
  }
17
19
  export interface MenuDockProps {
18
20
  items?: MenuDockItem[];
@@ -21,9 +23,12 @@ export interface MenuDockProps {
21
23
  orientation?: "horizontal" | "vertical";
22
24
  showLabels?: boolean;
23
25
  animated?: boolean;
26
+ animationType?: "default" | "floating";
24
27
  defaultActiveIndex?: number;
25
28
  activeIndex?: number;
26
29
  onActiveIndexChange?: (index: number) => void;
30
+ desktopClassName?: string;
31
+ mobileClassName?: string;
27
32
  }
28
33
  export declare const MenuDock: React.FC<MenuDockProps>;
29
34
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"menu-dock.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/navigation/menu-dock/menu-dock.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,KAAK,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAC1C,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAUD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAgK5C,CAAC"}
1
+ {"version":3,"file":"menu-dock.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/navigation/menu-dock/menu-dock.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,KAAK,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAC1C,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACvC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAUD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA4M5C,CAAC"}