@flowtomic/ui 0.1.9 → 0.1.11

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 (99) hide show
  1. package/dist/blocks/developer-panel/page.js +1 -1
  2. package/dist/components/atoms/actions/badge/badge.d.ts +2 -2
  3. package/dist/components/atoms/actions/button/button.d.ts +2 -2
  4. package/dist/components/atoms/animation/encrypted-text/encrypted-text.js +1 -1
  5. package/dist/components/atoms/animation/sliding-number/sliding-number.d.ts.map +1 -1
  6. package/dist/components/atoms/animation/sliding-number/sliding-number.js +1 -1
  7. package/dist/components/atoms/data-display/qr-code/qr-code.d.ts +3 -3
  8. package/dist/components/atoms/data-display/qr-code/qr-code.d.ts.map +1 -1
  9. package/dist/components/atoms/data-display/qr-code/qr-code.js +4 -3
  10. package/dist/components/atoms/feedback/alert/alert.d.ts +1 -1
  11. package/dist/components/atoms/feedback/alert-dialog/alert-dialog.d.ts +2 -2
  12. package/dist/components/atoms/feedback/tooltip/tooltip.js +3 -3
  13. package/dist/components/atoms/forms/input/input.d.ts +2 -2
  14. package/dist/components/atoms/forms/toggle/toggle.d.ts +2 -2
  15. package/dist/components/atoms/index.d.ts +2 -0
  16. package/dist/components/atoms/index.d.ts.map +1 -1
  17. package/dist/components/atoms/index.js +1 -0
  18. package/dist/components/atoms/layout/sidebar/sidebar.d.ts +2 -2
  19. package/dist/components/atoms/navigation/command/command.d.ts +13 -13
  20. package/dist/components/atoms/widget-resize-handle/index.d.ts +3 -0
  21. package/dist/components/atoms/widget-resize-handle/index.d.ts.map +1 -0
  22. package/dist/components/atoms/widget-resize-handle/index.js +1 -0
  23. package/dist/components/atoms/widget-resize-handle/widget-resize-handle.d.ts +60 -0
  24. package/dist/components/atoms/widget-resize-handle/widget-resize-handle.d.ts.map +1 -0
  25. package/dist/components/atoms/widget-resize-handle/widget-resize-handle.js +75 -0
  26. package/dist/components/molecules/draggable-widget/draggable-widget.d.ts +73 -0
  27. package/dist/components/molecules/draggable-widget/draggable-widget.d.ts.map +1 -0
  28. package/dist/components/molecules/draggable-widget/draggable-widget.js +44 -0
  29. package/dist/components/molecules/draggable-widget/index.d.ts +3 -0
  30. package/dist/components/molecules/draggable-widget/index.d.ts.map +1 -0
  31. package/dist/components/molecules/draggable-widget/index.js +1 -0
  32. package/dist/components/molecules/edit-mode-toggle/edit-mode-toggle.d.ts +41 -0
  33. package/dist/components/molecules/edit-mode-toggle/edit-mode-toggle.d.ts.map +1 -0
  34. package/dist/components/molecules/edit-mode-toggle/edit-mode-toggle.js +26 -0
  35. package/dist/components/molecules/edit-mode-toggle/index.d.ts +3 -0
  36. package/dist/components/molecules/edit-mode-toggle/index.d.ts.map +1 -0
  37. package/dist/components/molecules/edit-mode-toggle/index.js +1 -0
  38. package/dist/components/molecules/forms/autocomplete/autocomplete-context.d.ts +1 -1
  39. package/dist/components/molecules/forms/autocomplete/autocomplete-context.d.ts.map +1 -1
  40. package/dist/components/molecules/forms/autocomplete/autocomplete-item.d.ts.map +1 -1
  41. package/dist/components/molecules/forms/autocomplete/autocomplete-section.d.ts.map +1 -1
  42. package/dist/components/molecules/forms/autocomplete/autocomplete.d.ts +1 -1
  43. package/dist/components/molecules/forms/autocomplete/autocomplete.d.ts.map +1 -1
  44. package/dist/components/molecules/forms/autocomplete/autocomplete.js +6 -6
  45. package/dist/components/molecules/forms/autocomplete/index.d.ts +2 -2
  46. package/dist/components/molecules/forms/autocomplete/index.d.ts.map +1 -1
  47. package/dist/components/molecules/forms/autocomplete/index.js +1 -1
  48. package/dist/components/molecules/forms/item/item.d.ts +2 -2
  49. package/dist/components/molecules/forms/text-editor/text-editor.d.ts.map +1 -1
  50. package/dist/components/molecules/forms/text-editor/text-editor.js +14 -13
  51. package/dist/components/molecules/index.d.ts +8 -2
  52. package/dist/components/molecules/index.d.ts.map +1 -1
  53. package/dist/components/molecules/index.js +4 -1
  54. package/dist/components/molecules/navigation/menu-dock/menu-dock.d.ts.map +1 -1
  55. package/dist/components/molecules/navigation/menu-dock/menu-dock.js +25 -28
  56. package/dist/components/molecules/widget-renderer/index.d.ts +3 -0
  57. package/dist/components/molecules/widget-renderer/index.d.ts.map +1 -0
  58. package/dist/components/molecules/widget-renderer/index.js +1 -0
  59. package/dist/components/molecules/widget-renderer/widget-renderer.d.ts +46 -0
  60. package/dist/components/molecules/widget-renderer/widget-renderer.d.ts.map +1 -0
  61. package/dist/components/molecules/widget-renderer/widget-renderer.js +37 -0
  62. package/dist/components/organisms/document-editor/document-editor.d.ts.map +1 -1
  63. package/dist/components/organisms/document-editor/document-editor.js +4 -4
  64. package/dist/components/organisms/document-editor/index.d.ts +1 -1
  65. package/dist/components/organisms/document-editor/index.d.ts.map +1 -1
  66. package/dist/components/organisms/draggable-dashboard-grid/draggable-dashboard-grid.d.ts +65 -0
  67. package/dist/components/organisms/draggable-dashboard-grid/draggable-dashboard-grid.d.ts.map +1 -0
  68. package/dist/components/organisms/draggable-dashboard-grid/draggable-dashboard-grid.js +124 -0
  69. package/dist/components/organisms/draggable-dashboard-grid/index.d.ts +3 -0
  70. package/dist/components/organisms/draggable-dashboard-grid/index.d.ts.map +1 -0
  71. package/dist/components/organisms/draggable-dashboard-grid/index.js +1 -0
  72. package/dist/components/organisms/form-layout/form-layout.d.ts +2 -2
  73. package/dist/components/organisms/form-layout/form-layout.d.ts.map +1 -1
  74. package/dist/components/organisms/form-layout/form-layout.js +11 -9
  75. package/dist/components/organisms/form-layout/index.d.ts +1 -1
  76. package/dist/components/organisms/form-layout/index.d.ts.map +1 -1
  77. package/dist/components/organisms/index.d.ts +6 -0
  78. package/dist/components/organisms/index.d.ts.map +1 -1
  79. package/dist/components/organisms/index.js +3 -0
  80. package/dist/components/organisms/model-selector/model-selector.d.ts +1 -1
  81. package/dist/components/organisms/widget-config-modal/index.d.ts +3 -0
  82. package/dist/components/organisms/widget-config-modal/index.d.ts.map +1 -0
  83. package/dist/components/organisms/widget-config-modal/index.js +1 -0
  84. package/dist/components/organisms/widget-config-modal/widget-config-modal.d.ts +57 -0
  85. package/dist/components/organisms/widget-config-modal/widget-config-modal.d.ts.map +1 -0
  86. package/dist/components/organisms/widget-config-modal/widget-config-modal.js +35 -0
  87. package/dist/components/organisms/widget-palette/index.d.ts +3 -0
  88. package/dist/components/organisms/widget-palette/index.d.ts.map +1 -0
  89. package/dist/components/organisms/widget-palette/index.js +1 -0
  90. package/dist/components/organisms/widget-palette/widget-palette.d.ts +71 -0
  91. package/dist/components/organisms/widget-palette/widget-palette.d.ts.map +1 -0
  92. package/dist/components/organisms/widget-palette/widget-palette.js +42 -0
  93. package/dist/index.d.ts +1 -0
  94. package/dist/index.d.ts.map +1 -1
  95. package/dist/index.js +513 -509
  96. package/dist/types/dashboard.d.ts +74 -0
  97. package/dist/types/dashboard.d.ts.map +1 -0
  98. package/dist/types/dashboard.js +7 -0
  99. package/package.json +4 -3
@@ -0,0 +1,44 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /**
3
+ * DraggableWidget - Molecule Component
4
+ *
5
+ * Wrapper para widgets que permite drag and drop e redimensionamento.
6
+ * Componente genérico e reutilizável para qualquer dashboard.
7
+ */
8
+ import { useDraggable } from "@dnd-kit/core";
9
+ import { CSS } from "@dnd-kit/utilities";
10
+ import { GripVertical, Settings2, X } from "lucide-react";
11
+ import { memo } from "react";
12
+ import { WidgetResizeHandle } from "@/components/atoms/widget-resize-handle";
13
+ import { cn } from "@/lib/utils";
14
+ /**
15
+ * Componente de widget arrastável
16
+ *
17
+ * Wrapper genérico que adiciona funcionalidades de drag and drop,
18
+ * redimensionamento e controles de edição a qualquer widget.
19
+ */
20
+ export const DraggableWidget = memo(({ widgetId, widgetType, children, isEditMode, gridPosition, currentWidth, currentHeight, onConfigure, onRemove, onResize, cellSize = 50, gap = 16, className, }) => {
21
+ const { attributes, listeners, setNodeRef, transform, isDragging } = useDraggable({
22
+ id: widgetId,
23
+ disabled: !isEditMode,
24
+ data: {
25
+ type: "widget",
26
+ widgetId,
27
+ widgetType,
28
+ },
29
+ });
30
+ const style = {
31
+ transform: CSS.Translate.toString(transform),
32
+ ...gridPosition,
33
+ };
34
+ const handleRemove = (e) => {
35
+ e.stopPropagation();
36
+ onRemove?.(widgetId);
37
+ };
38
+ const handleConfigure = (e) => {
39
+ e.stopPropagation();
40
+ onConfigure?.(widgetId);
41
+ };
42
+ return (_jsxs("div", { ref: setNodeRef, style: style, className: cn("relative group", isDragging && "opacity-50 z-50", isEditMode && "ring-2 ring-primary/20", className), children: [_jsx("div", { className: cn("h-full w-full bg-card rounded-lg border border-border shadow-sm overflow-hidden", isEditMode && "hover:shadow-md transition-shadow"), children: children }), isEditMode && (_jsxs(_Fragment, { children: [_jsx("div", { ...attributes, ...listeners, className: cn("absolute top-2 left-2 p-1.5 rounded-md", "bg-background/80 backdrop-blur-sm border border-border", "cursor-grab active:cursor-grabbing", "opacity-0 group-hover:opacity-100 transition-opacity", "hover:bg-background"), "aria-label": "Arrastar widget", children: _jsx(GripVertical, { className: "w-4 h-4 text-muted-foreground" }) }), _jsxs("div", { className: "absolute top-2 right-2 flex gap-1 opacity-0 group-hover:opacity-100 transition-opacity", children: [onConfigure && (_jsx("button", { onClick: handleConfigure, className: cn("p-1.5 rounded-md", "bg-background/80 backdrop-blur-sm border border-border", "hover:bg-background text-muted-foreground hover:text-foreground", "transition-colors"), "aria-label": "Configurar widget", children: _jsx(Settings2, { className: "w-4 h-4" }) })), onRemove && (_jsx("button", { onClick: handleRemove, className: cn("p-1.5 rounded-md", "bg-background/80 backdrop-blur-sm border border-border", "hover:bg-destructive hover:text-destructive-foreground", "text-muted-foreground transition-colors"), "aria-label": "Remover widget", children: _jsx(X, { className: "w-4 h-4" }) }))] }), onResize && (_jsx(WidgetResizeHandle, { widgetId: widgetId, currentWidth: currentWidth, currentHeight: currentHeight, onResize: onResize, cellSize: cellSize, gap: gap }))] }))] }));
43
+ });
44
+ DraggableWidget.displayName = "DraggableWidget";
@@ -0,0 +1,3 @@
1
+ export type { DraggableWidgetProps } from "./draggable-widget";
2
+ export { DraggableWidget } from "./draggable-widget";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/draggable-widget/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1 @@
1
+ export { DraggableWidget } from "./draggable-widget";
@@ -0,0 +1,41 @@
1
+ /**
2
+ * EditModeToggle - Molecule Component
3
+ *
4
+ * Componente para alternar entre modo de edição e visualização.
5
+ * Genérico e reutilizável para qualquer contexto de edição.
6
+ */
7
+ import React from "react";
8
+ export interface EditModeToggleProps {
9
+ /**
10
+ * Se está em modo de edição
11
+ */
12
+ isEditMode: boolean;
13
+ /**
14
+ * Callback quando modo de edição é alterado
15
+ */
16
+ onToggle: (editMode: boolean) => void;
17
+ /**
18
+ * Se está desabilitado
19
+ */
20
+ disabled?: boolean;
21
+ /**
22
+ * Label para o botão quando em modo de edição (padrão: "Visualizar")
23
+ */
24
+ viewLabel?: string;
25
+ /**
26
+ * Label para o botão quando em modo de visualização (padrão: "Editar Dashboard")
27
+ */
28
+ editLabel?: string;
29
+ /**
30
+ * Classe CSS adicional
31
+ */
32
+ className?: string;
33
+ }
34
+ /**
35
+ * Toggle para alternar modo de edição
36
+ *
37
+ * Componente genérico que permite alternar entre modo de edição e visualização.
38
+ * Pode ser usado em qualquer contexto que precise de toggle de edição.
39
+ */
40
+ export declare const EditModeToggle: React.ForwardRefExoticComponent<EditModeToggleProps & React.RefAttributes<HTMLButtonElement>>;
41
+ //# sourceMappingURL=edit-mode-toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-mode-toggle.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/edit-mode-toggle/edit-mode-toggle.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,+FA6C1B,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * EditModeToggle - Molecule Component
4
+ *
5
+ * Componente para alternar entre modo de edição e visualização.
6
+ * Genérico e reutilizável para qualquer contexto de edição.
7
+ */
8
+ import { Edit2, Eye } from "lucide-react";
9
+ import React from "react";
10
+ import { Button } from "@/components/atoms";
11
+ import { cn } from "@/lib/utils";
12
+ /**
13
+ * Toggle para alternar modo de edição
14
+ *
15
+ * Componente genérico que permite alternar entre modo de edição e visualização.
16
+ * Pode ser usado em qualquer contexto que precise de toggle de edição.
17
+ */
18
+ export const EditModeToggle = React.forwardRef(({ isEditMode, onToggle, disabled = false, viewLabel = "Visualizar", editLabel = "Editar Dashboard", className, ...props }, ref) => {
19
+ const handleClick = () => {
20
+ if (!disabled) {
21
+ onToggle(!isEditMode);
22
+ }
23
+ };
24
+ return (_jsx(Button, { ref: ref, variant: isEditMode ? "default" : "outline", size: "sm", onClick: handleClick, disabled: disabled, className: cn("gap-2", className), "aria-label": isEditMode ? "Sair do modo de edição" : "Entrar no modo de edição", "aria-pressed": isEditMode, ...props, children: isEditMode ? (_jsxs(_Fragment, { children: [_jsx(Eye, { className: "w-4 h-4" }), _jsx("span", { children: viewLabel })] })) : (_jsxs(_Fragment, { children: [_jsx(Edit2, { className: "w-4 h-4" }), _jsx("span", { children: editLabel })] })) }));
25
+ });
26
+ EditModeToggle.displayName = "EditModeToggle";
@@ -0,0 +1,3 @@
1
+ export type { EditModeToggleProps } from "./edit-mode-toggle";
2
+ export { EditModeToggle } from "./edit-mode-toggle";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/edit-mode-toggle/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1 @@
1
+ export { EditModeToggle } from "./edit-mode-toggle";
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Fornece estado e helpers do hook useAutocomplete para subcomponentes
5
5
  */
6
- import { type UseAutocompleteReturn } from "flowtomic/logic";
6
+ import type { UseAutocompleteReturn } from "flowtomic/logic";
7
7
  import * as React from "react";
8
8
  export interface AutocompleteContextValue extends UseAutocompleteReturn {
9
9
  size?: "sm" | "default" | "lg";
@@ -1 +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"}
1
+ {"version":3,"file":"autocomplete-context.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/forms/autocomplete/autocomplete-context.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,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,qDAE/B,CAAC;AAEF,wBAAgB,sBAAsB,IAAI,wBAAwB,CAMjE"}
@@ -1 +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"}
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,qBAAsB,SAAQ,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC;IAChF;;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,6FA+CrB,CAAC;AAIF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1 +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"}
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,wBAAyB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACpF;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,QAAA,MAAM,mBAAmB,iGAmBxB,CAAC;AAIF,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -4,8 +4,8 @@
4
4
  * Componente de autocomplete usando hook headless useAutocomplete
5
5
  * Suporta API antiga (options) e composição (Compound Components)
6
6
  */
7
- import * as React from "react";
8
7
  import { type AutocompleteOption } from "flowtomic/logic";
8
+ import * as React from "react";
9
9
  export interface AutocompleteProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size" | "value" | "onChange" | "defaultValue"> {
10
10
  options?: AutocompleteOption[];
11
11
  value?: string;
@@ -1 +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"}
1
+ {"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/forms/autocomplete/autocomplete.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,KAAK,kBAAkB,EAAmB,MAAM,iBAAiB,CAAC;AAI3E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAe/B,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;AA4OD,eAAO,MAAM,YAAY;;;;;;CAMvB,CAAC"}
@@ -5,20 +5,20 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
5
5
  * Componente de autocomplete usando hook headless useAutocomplete
6
6
  * Suporta API antiga (options) e composição (Compound Components)
7
7
  */
8
- // React e types
9
- import * as React from "react";
10
8
  // Hooks Flowtomic
11
9
  import { useAutocomplete } from "flowtomic/logic";
12
10
  // Ícones
13
11
  import { ChevronDownIcon, XIcon } from "lucide-react";
12
+ // React e types
13
+ import * as React from "react";
14
14
  // Utils
15
15
  import { cn } from "@/lib/utils";
16
- import { inputVariants } from "../../../atoms/forms/input/input";
17
16
  import { Spinner } from "../../../atoms/animation/spinner/spinner";
18
17
  // Feedback/Overlay
19
- import { Popover, PopoverContent, PopoverTrigger, } from "../../../atoms/feedback/popover/popover";
18
+ import { Popover, PopoverContent, PopoverTrigger } from "../../../atoms/feedback/popover/popover";
19
+ import { inputVariants } from "../../../atoms/forms/input/input";
20
20
  // Context/Composição
21
- import { AutocompleteContext, } from "./autocomplete-context";
21
+ import { AutocompleteContext } from "./autocomplete-context";
22
22
  import { AutocompleteItem } from "./autocomplete-item";
23
23
  import { AutocompleteSection } from "./autocomplete-section";
24
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) => {
@@ -36,7 +36,7 @@ const AutocompleteRoot = React.forwardRef(({ options = [], value: controlledValu
36
36
  emptyMessage,
37
37
  children: useComposition ? children : undefined,
38
38
  });
39
- const { inputValue, selectedValue, isOpen, filteredItems, getInputProps, getPopoverProps, getListProps, getItemProps, open, close, clear, } = hookReturn;
39
+ const { inputValue: _inputValue, selectedValue, isOpen, filteredItems, getInputProps, getPopoverProps, getListProps, getItemProps, open: _open, close: _close, clear, } = hookReturn;
40
40
  // Input props
41
41
  const inputProps = getInputProps({
42
42
  ...props,
@@ -1,9 +1,9 @@
1
1
  export type { AutocompleteProps } from "./autocomplete";
2
2
  export { Autocomplete } from "./autocomplete";
3
+ export type { AutocompleteContextValue } from "./autocomplete-context";
4
+ export { useAutocompleteContext } from "./autocomplete-context";
3
5
  export type { AutocompleteItemProps } from "./autocomplete-item";
4
6
  export { AutocompleteItem } from "./autocomplete-item";
5
7
  export type { AutocompleteSectionProps } from "./autocomplete-section";
6
8
  export { AutocompleteSection } from "./autocomplete-section";
7
- export type { AutocompleteContextValue } from "./autocomplete-context";
8
- export { useAutocompleteContext } from "./autocomplete-context";
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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"}
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,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,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"}
@@ -1,4 +1,4 @@
1
1
  export { Autocomplete } from "./autocomplete";
2
+ export { useAutocompleteContext } from "./autocomplete-context";
2
3
  export { AutocompleteItem } from "./autocomplete-item";
3
4
  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;
@@ -1 +1 @@
1
- {"version":3,"file":"text-editor.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/forms/text-editor/text-editor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA+C/B,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;AAE7D,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GACrC,IAAI,GAAG,IAAI,GAAG,IAAI,GAClB,YAAY,GAAG,aAAa,GAAG,YAAY,GAC3C,WAAW,GAAG,aAAa,GAAG,YAAY,GAC1C,WAAW,GACX,OAAO,CAAC;AAEZ,QAAA,MAAM,eAAe,EAAE,uBAAuB,EAgB7C,CAAC;AA2DF,KAAK,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;AAE3E,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC3C,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACzD,YAAY,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACnC,4EAA4E;IAC5E,cAAc,CAAC,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC;CAC1C;AAED,eAAO,MAAM,UAAU,wFAmUtB,CAAC;AA8BF,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"text-editor.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/forms/text-editor/text-editor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA4BH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAqB/B,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;AAE7D,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,WAAW,GACX,aAAa,GACb,YAAY,GACZ,WAAW,GACX,OAAO,CAAC;AAEZ,QAAA,MAAM,eAAe,EAAE,uBAAuB,EAgB7C,CAAC;AA2DF,KAAK,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;AAE3E,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC3C,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACzD,YAAY,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACnC,4EAA4E;IAC5E,cAAc,CAAC,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC;CAC1C;AAED,eAAO,MAAM,UAAU,wFA4XtB,CAAC;AA8BF,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -9,19 +9,19 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  * - Somente 'preview' => somente visualização
10
10
  * - Múltiplos modos => abas para cada modo disponível
11
11
  */
12
- import * as React from "react";
13
- import { useEditor, EditorContent } from "@tiptap/react";
14
- import StarterKit from "@tiptap/starter-kit";
15
- import Placeholder from "@tiptap/extension-placeholder";
16
- import TextStyle from "@tiptap/extension-text-style";
17
12
  import Color from "@tiptap/extension-color";
18
- import TextAlign from "@tiptap/extension-text-align";
19
13
  import Image from "@tiptap/extension-image";
20
- import { Markdown } from "tiptap-markdown";
21
- import { Bold, Code, Heading1, Heading2, Heading3, ImageIcon, Italic, ListOrdered, List as ListIcon, Quote, Strikethrough, AlignLeft, AlignCenter, AlignRight, Eye, FileText, Palette, } from "lucide-react";
14
+ import Placeholder from "@tiptap/extension-placeholder";
15
+ import TextAlign from "@tiptap/extension-text-align";
16
+ import TextStyle from "@tiptap/extension-text-style";
17
+ import { EditorContent, useEditor } from "@tiptap/react";
18
+ import StarterKit from "@tiptap/starter-kit";
19
+ import { AlignCenter, AlignLeft, AlignRight, Bold, Code, Eye, FileText, Heading1, Heading2, Heading3, ImageIcon, Italic, List as ListIcon, ListOrdered, Palette, Quote, Strikethrough, } from "lucide-react";
20
+ import * as React from "react";
22
21
  import { Streamdown } from "streamdown";
22
+ import { Markdown } from "tiptap-markdown";
23
23
  import { cn } from "@/lib/utils";
24
- import { Button, Separator, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Popover, PopoverContent, PopoverTrigger, } from "../../../atoms";
24
+ import { Button, Popover, PopoverContent, PopoverTrigger, Separator, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "../../../atoms";
25
25
  const DEFAULT_ACTIONS = [
26
26
  "bold",
27
27
  "italic",
@@ -73,7 +73,7 @@ function useMarkdownState(controlled, initial) {
73
73
  const isControlled = controlled !== undefined;
74
74
  const [value, setValue] = React.useState(initial);
75
75
  React.useEffect(() => {
76
- if (isControlled)
76
+ if (isControlled && controlled !== undefined)
77
77
  setValue(controlled);
78
78
  }, [controlled, isControlled]);
79
79
  return { value, setValue, isControlled };
@@ -96,7 +96,7 @@ function stripMarkdown(md) {
96
96
  }
97
97
  export const TextEditor = React.forwardRef(({ className, value: controlledValue, defaultValue, onChange, placeholder = "Escreva algo...", editable = true, mode: controlledMode, onModeChange, toolbar = true, allowedActions = DEFAULT_ACTIONS, onUploadImage, outputFormat = "markdown", availableModes = ["rich", "markdown"], ...props }, ref) => {
98
98
  const initial = controlledValue ?? defaultValue ?? "";
99
- const { value: internalMarkdown, setValue: setInternalMarkdown, isControlled } = useMarkdownState(controlledValue, initial);
99
+ const { value: internalMarkdown, setValue: setInternalMarkdown, isControlled, } = useMarkdownState(controlledValue, initial);
100
100
  // Expandir modos: se markdown está presente, adicionar preview automaticamente
101
101
  const effectiveModes = React.useMemo(() => {
102
102
  const unique = availableModes.filter((m, i, arr) => arr.indexOf(m) === i);
@@ -130,8 +130,9 @@ export const TextEditor = React.forwardRef(({ className, value: controlledValue,
130
130
  content: internalMarkdown ? undefined : "",
131
131
  onUpdate: ({ editor }) => {
132
132
  try {
133
- // @ts-expect-error acesso ao storage markdown da extensão
134
- const md = editor?.storage?.markdown?.getMarkdown?.() ?? editor.commands.getMarkdown?.();
133
+ // Acesso ao storage markdown da extensão tiptap-markdown
134
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
135
+ const md = editor?.storage?.markdown?.getMarkdown?.() ?? "";
135
136
  if (typeof md === "string") {
136
137
  if (!isControlled)
137
138
  setInternalMarkdown(md);
@@ -5,8 +5,6 @@
5
5
  export type { ConnectionLineComponent } from "@xyflow/react";
6
6
  export type { ModalBodyProps, ModalContentProps, ModalFooterProps, ModalProps, ModalTriggerProps, } from "./animation/animated-modal";
7
7
  export { Modal, ModalBody, ModalContent, ModalFooter, ModalTrigger, } from "./animation/animated-modal";
8
- export type { TextEditorMode, TextEditorProps, TextEditorToolbarAction } from "./forms/text-editor";
9
- export { TextEditor } from "./forms/text-editor";
10
8
  export type { AnimatedSlidingNumberProps } from "./animation/animated-sliding-number";
11
9
  export { AnimatedSlidingNumber } from "./animation/animated-sliding-number";
12
10
  export type { ButtonCounterProps } from "./animation/button-counter";
@@ -49,6 +47,10 @@ export type { TimeTrackerProps } from "./data-display/time-tracker";
49
47
  export { TimeTracker } from "./data-display/time-tracker";
50
48
  export type { ToolContentProps, ToolHeaderProps, ToolInputProps, ToolOutputProps, ToolProps, } from "./data-display/tool";
51
49
  export { Tool, ToolContent, ToolHeader, ToolInput, ToolOutput } from "./data-display/tool";
50
+ export type { DraggableWidgetProps } from "./draggable-widget";
51
+ export { DraggableWidget } from "./draggable-widget";
52
+ export type { EditModeToggleProps } from "./edit-mode-toggle";
53
+ export { EditModeToggle } from "./edit-mode-toggle";
52
54
  export type { ConfirmationAcceptedProps, ConfirmationActionProps, ConfirmationActionsProps, ConfirmationProps, ConfirmationRejectedProps, ConfirmationRequestProps, ConfirmationTitleProps, } from "./feedback/confirmation";
53
55
  export { Confirmation, ConfirmationAccepted, ConfirmationAction, ConfirmationActions, ConfirmationRejected, ConfirmationRequest, ConfirmationTitle, } from "./feedback/confirmation";
54
56
  export type { CanvasProps } from "./flow/canvas";
@@ -64,6 +66,8 @@ export type { InputGroupAddonProps, InputGroupButtonProps, InputGroupProps, Inpu
64
66
  export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupTextarea, } from "./forms/input-group";
65
67
  export type { ItemActionsProps, ItemContentProps, ItemDescriptionProps, ItemFooterProps, ItemGroupProps, ItemHeaderProps, ItemMediaProps, ItemProps, ItemSeparatorProps, ItemTitleProps, } from "./forms/item";
66
68
  export { Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, } from "./forms/item";
69
+ export type { TextEditorMode, TextEditorProps, TextEditorToolbarAction } from "./forms/text-editor";
70
+ export { TextEditor } from "./forms/text-editor";
67
71
  export type { DashboardHeaderProps, DashboardUser, Notification, } from "./layout/dashboard-header";
68
72
  export { DashboardHeader } from "./layout/dashboard-header";
69
73
  export type { MenuDockItem, MenuDockProps } from "./navigation/menu-dock";
@@ -72,4 +76,6 @@ export type { MobileAppCard, NavigationItem, SidebarNavigationProps, } from "./n
72
76
  export { SidebarNavigation } from "./navigation/sidebar-navigation";
73
77
  export type { StartPosition, ThemeToggleButtonProps, } from "./theme/theme-toggle-button/theme-toggle-button";
74
78
  export { ThemeToggleButton } from "./theme/theme-toggle-button/theme-toggle-button";
79
+ export type { WidgetRendererProps } from "./widget-renderer";
80
+ export { WidgetRenderer } from "./widget-renderer";
75
81
  //# 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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"}
@@ -3,7 +3,6 @@
3
3
  * Atomic Design: Componentes compostos por múltiplos atoms
4
4
  */
5
5
  export { Modal, ModalBody, ModalContent, ModalFooter, ModalTrigger, } from "./animation/animated-modal";
6
- export { TextEditor } from "./forms/text-editor";
7
6
  export { AnimatedSlidingNumber } from "./animation/animated-sliding-number";
8
7
  export { ButtonCounter } from "./animation/button-counter";
9
8
  export { AuthFormErrorMessage, AuthNavigationLink, PasswordInput } from "./auth";
@@ -25,6 +24,8 @@ export { Task, TaskContent, TaskItem, TaskItemFile, TaskTrigger } from "./data-d
25
24
  export { TeamMemberList } from "./data-display/team-member-list";
26
25
  export { TimeTracker } from "./data-display/time-tracker";
27
26
  export { Tool, ToolContent, ToolHeader, ToolInput, ToolOutput } from "./data-display/tool";
27
+ export { DraggableWidget } from "./draggable-widget";
28
+ export { EditModeToggle } from "./edit-mode-toggle";
28
29
  export { Confirmation, ConfirmationAccepted, ConfirmationAction, ConfirmationActions, ConfirmationRejected, ConfirmationRequest, ConfirmationTitle, } from "./feedback/confirmation";
29
30
  export { Canvas } from "./flow/canvas";
30
31
  export { Connection } from "./flow/connection";
@@ -33,7 +34,9 @@ export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText } from "./forms/butt
33
34
  export { ImageDropzone } from "./forms/image-dropzone";
34
35
  export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupTextarea, } from "./forms/input-group";
35
36
  export { Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, } from "./forms/item";
37
+ export { TextEditor } from "./forms/text-editor";
36
38
  export { DashboardHeader } from "./layout/dashboard-header";
37
39
  export { MenuDock } from "./navigation/menu-dock";
38
40
  export { SidebarNavigation } from "./navigation/sidebar-navigation";
39
41
  export { ThemeToggleButton } from "./theme/theme-toggle-button/theme-toggle-button";
42
+ export { WidgetRenderer } from "./widget-renderer";
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"menu-dock.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/navigation/menu-dock/menu-dock.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,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;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,CAsM5C,CAAC"}
@@ -7,9 +7,9 @@
7
7
  "use client";
8
8
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
9
9
  import { useAnimatedIndicator } from "@flowtomic/logic";
10
+ import { Menu } from "lucide-react";
10
11
  import { AnimatePresence, motion, useMotionValue, useReducedMotion, useSpring, useTransform, } from "motion/react";
11
12
  import { useEffect, useMemo, useRef, useState } from "react";
12
- import { Menu } from "lucide-react";
13
13
  import { cn } from "@/lib/utils";
14
14
  const defaultItems = [
15
15
  { label: "home", icon: () => null },
@@ -27,37 +27,14 @@ export const MenuDock = ({ items, className, variant = "default", orientation =
27
27
  }
28
28
  return items;
29
29
  }, [items]);
30
- // Se animationType for "floating", renderizar FloatingDock
31
- if (animationType === "floating") {
32
- return (_jsx(FloatingDock, { items: finalItems.map((item) => ({
33
- title: item.label,
34
- icon: _jsx(item.icon, { className: "h-full w-full" }),
35
- href: item.href || item.path || "#",
36
- onClick: item.onClick,
37
- })), desktopClassName: desktopClassName, mobileClassName: mobileClassName, className: className }));
38
- }
39
- // Animação default (comportamento original)
30
+ // Todos os hooks devem ser chamados antes de qualquer return condicional
40
31
  const [internalActiveIndex, setInternalActiveIndex] = useState(defaultActiveIndex);
41
- // Usar índice controlado se fornecido, caso contrário usar estado interno
42
32
  const isControlled = controlledActiveIndex !== undefined;
43
33
  const activeIndex = isControlled ? controlledActiveIndex : internalActiveIndex;
44
- const setActiveIndex = (index) => {
45
- if (!isControlled) {
46
- setInternalActiveIndex(index);
47
- }
48
- onActiveIndexChange?.(index);
49
- };
50
34
  const containerRef = useRef(null);
51
35
  const shouldReduceMotion = useReducedMotion();
52
- // Para o underline, precisamos rastrear o texto, não o botão
53
36
  const textRefs = useRef([]);
54
37
  const buttonRefs = useRef([]);
55
- useEffect(() => {
56
- if (activeIndex >= finalItems.length && !isControlled) {
57
- setInternalActiveIndex(0);
58
- }
59
- }, [finalItems, activeIndex, isControlled]);
60
- // Usar o hook apenas quando showLabels e horizontal
61
38
  const shouldUseIndicator = showLabels && orientation === "horizontal";
62
39
  const { indicatorStyle, registerElement, unregisterElement } = useAnimatedIndicator({
63
40
  containerRef: containerRef,
@@ -66,11 +43,22 @@ export const MenuDock = ({ items, className, variant = "default", orientation =
66
43
  getElementValue: (element) => {
67
44
  return element.getAttribute("data-index") || "";
68
45
  },
69
- updateOnResize: shouldUseIndicator,
46
+ updateOnResize: shouldUseIndicator && animationType === "default",
70
47
  });
48
+ const setActiveIndex = (index) => {
49
+ if (!isControlled) {
50
+ setInternalActiveIndex(index);
51
+ }
52
+ onActiveIndexChange?.(index);
53
+ };
54
+ useEffect(() => {
55
+ if (animationType === "default" && activeIndex >= finalItems.length && !isControlled) {
56
+ setInternalActiveIndex(0);
57
+ }
58
+ }, [finalItems, activeIndex, isControlled, animationType]);
71
59
  // Registrar elementos quando shouldUseIndicator mudar ou items mudarem
72
60
  useEffect(() => {
73
- if (shouldUseIndicator) {
61
+ if (animationType === "default" && shouldUseIndicator) {
74
62
  textRefs.current.forEach((el, index) => {
75
63
  if (el) {
76
64
  registerElement(el, index.toString());
@@ -82,7 +70,16 @@ export const MenuDock = ({ items, className, variant = "default", orientation =
82
70
  });
83
71
  };
84
72
  }
85
- }, [shouldUseIndicator, finalItems.length, registerElement, unregisterElement]);
73
+ }, [shouldUseIndicator, registerElement, unregisterElement, animationType]);
74
+ // Se animationType for "floating", renderizar FloatingDock
75
+ if (animationType === "floating") {
76
+ return (_jsx(FloatingDock, { items: finalItems.map((item) => ({
77
+ title: item.label,
78
+ icon: _jsx(item.icon, { className: "h-full w-full" }),
79
+ href: item.href || item.path || "#",
80
+ onClick: item.onClick,
81
+ })), desktopClassName: desktopClassName, mobileClassName: mobileClassName, className: className }));
82
+ }
86
83
  const sizeClasses = {
87
84
  default: "p-3",
88
85
  compact: "p-2",
@@ -0,0 +1,3 @@
1
+ export type { WidgetRendererProps } from "./widget-renderer";
2
+ export { WidgetRenderer } from "./widget-renderer";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/widget-renderer/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1 @@
1
+ export { WidgetRenderer } from "./widget-renderer";
@@ -0,0 +1,46 @@
1
+ /**
2
+ * WidgetRenderer - Molecule Component
3
+ *
4
+ * Renderizador base para widgets com render prop pattern.
5
+ * Totalmente extensível e genérico.
6
+ */
7
+ import type { WidgetLayout } from "@/types/dashboard";
8
+ export interface WidgetRendererProps {
9
+ /**
10
+ * Layout do widget a ser renderizado
11
+ */
12
+ widget: WidgetLayout;
13
+ /**
14
+ * Dados para o widget (opcional, depende do tipo)
15
+ */
16
+ data?: unknown;
17
+ /**
18
+ * Se está carregando
19
+ */
20
+ isLoading?: boolean;
21
+ /**
22
+ * Render prop para renderizar widget customizado
23
+ * Tem prioridade sobre widgetRegistry
24
+ */
25
+ renderWidget?: (widget: WidgetLayout, data?: unknown) => React.ReactNode;
26
+ /**
27
+ * Registry de componentes por tipo de widget
28
+ * Usado quando renderWidget não é fornecido
29
+ */
30
+ widgetRegistry?: Map<string, React.ComponentType<{
31
+ widget: WidgetLayout;
32
+ data?: unknown;
33
+ }>>;
34
+ /**
35
+ * Fallback quando widget não é encontrado
36
+ */
37
+ fallback?: React.ReactNode;
38
+ }
39
+ /**
40
+ * Renderiza widget baseado no tipo
41
+ *
42
+ * Componente genérico que usa render prop pattern ou registry pattern
43
+ * para renderizar widgets. Totalmente extensível.
44
+ */
45
+ export declare const WidgetRenderer: import("react").NamedExoticComponent<WidgetRendererProps>;
46
+ //# sourceMappingURL=widget-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget-renderer.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/widget-renderer/widget-renderer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;IAEzE;;;OAGG;IACH,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,MAAM,EAAE,YAAY,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC,CAAC;IAE5F;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,2DAkC1B,CAAC"}