@flowtomic/ui 0.1.9 → 0.1.10

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 (94) hide show
  1. package/dist/components/atoms/actions/badge/badge.d.ts +1 -1
  2. package/dist/components/atoms/actions/button/button.d.ts +2 -2
  3. package/dist/components/atoms/animation/sliding-number/sliding-number.d.ts.map +1 -1
  4. package/dist/components/atoms/animation/sliding-number/sliding-number.js +1 -1
  5. package/dist/components/atoms/data-display/qr-code/qr-code.d.ts +2 -2
  6. package/dist/components/atoms/data-display/qr-code/qr-code.d.ts.map +1 -1
  7. package/dist/components/atoms/data-display/qr-code/qr-code.js +4 -3
  8. package/dist/components/atoms/feedback/alert/alert.d.ts +1 -1
  9. package/dist/components/atoms/feedback/alert-dialog/alert-dialog.d.ts +2 -2
  10. package/dist/components/atoms/forms/input/input.d.ts +2 -2
  11. package/dist/components/atoms/forms/toggle/toggle.d.ts +1 -1
  12. package/dist/components/atoms/index.d.ts +2 -0
  13. package/dist/components/atoms/index.d.ts.map +1 -1
  14. package/dist/components/atoms/index.js +1 -0
  15. package/dist/components/atoms/layout/sidebar/sidebar.d.ts +1 -1
  16. package/dist/components/atoms/navigation/command/command.d.ts +13 -13
  17. package/dist/components/atoms/widget-resize-handle/index.d.ts +3 -0
  18. package/dist/components/atoms/widget-resize-handle/index.d.ts.map +1 -0
  19. package/dist/components/atoms/widget-resize-handle/index.js +1 -0
  20. package/dist/components/atoms/widget-resize-handle/widget-resize-handle.d.ts +60 -0
  21. package/dist/components/atoms/widget-resize-handle/widget-resize-handle.d.ts.map +1 -0
  22. package/dist/components/atoms/widget-resize-handle/widget-resize-handle.js +75 -0
  23. package/dist/components/molecules/draggable-widget/draggable-widget.d.ts +73 -0
  24. package/dist/components/molecules/draggable-widget/draggable-widget.d.ts.map +1 -0
  25. package/dist/components/molecules/draggable-widget/draggable-widget.js +44 -0
  26. package/dist/components/molecules/draggable-widget/index.d.ts +3 -0
  27. package/dist/components/molecules/draggable-widget/index.d.ts.map +1 -0
  28. package/dist/components/molecules/draggable-widget/index.js +1 -0
  29. package/dist/components/molecules/edit-mode-toggle/edit-mode-toggle.d.ts +41 -0
  30. package/dist/components/molecules/edit-mode-toggle/edit-mode-toggle.d.ts.map +1 -0
  31. package/dist/components/molecules/edit-mode-toggle/edit-mode-toggle.js +26 -0
  32. package/dist/components/molecules/edit-mode-toggle/index.d.ts +3 -0
  33. package/dist/components/molecules/edit-mode-toggle/index.d.ts.map +1 -0
  34. package/dist/components/molecules/edit-mode-toggle/index.js +1 -0
  35. package/dist/components/molecules/forms/autocomplete/autocomplete-context.d.ts.map +1 -1
  36. package/dist/components/molecules/forms/autocomplete/autocomplete-item.d.ts.map +1 -1
  37. package/dist/components/molecules/forms/autocomplete/autocomplete-section.d.ts.map +1 -1
  38. package/dist/components/molecules/forms/autocomplete/autocomplete.d.ts +1 -1
  39. package/dist/components/molecules/forms/autocomplete/autocomplete.d.ts.map +1 -1
  40. package/dist/components/molecules/forms/autocomplete/autocomplete.js +4 -4
  41. package/dist/components/molecules/forms/autocomplete/index.d.ts +2 -2
  42. package/dist/components/molecules/forms/autocomplete/index.d.ts.map +1 -1
  43. package/dist/components/molecules/forms/autocomplete/index.js +1 -1
  44. package/dist/components/molecules/forms/text-editor/text-editor.d.ts.map +1 -1
  45. package/dist/components/molecules/forms/text-editor/text-editor.js +13 -12
  46. package/dist/components/molecules/index.d.ts +8 -2
  47. package/dist/components/molecules/index.d.ts.map +1 -1
  48. package/dist/components/molecules/index.js +4 -1
  49. package/dist/components/molecules/navigation/menu-dock/menu-dock.d.ts.map +1 -1
  50. package/dist/components/molecules/navigation/menu-dock/menu-dock.js +1 -1
  51. package/dist/components/molecules/widget-renderer/index.d.ts +3 -0
  52. package/dist/components/molecules/widget-renderer/index.d.ts.map +1 -0
  53. package/dist/components/molecules/widget-renderer/index.js +1 -0
  54. package/dist/components/molecules/widget-renderer/widget-renderer.d.ts +46 -0
  55. package/dist/components/molecules/widget-renderer/widget-renderer.d.ts.map +1 -0
  56. package/dist/components/molecules/widget-renderer/widget-renderer.js +37 -0
  57. package/dist/components/organisms/document-editor/document-editor.d.ts.map +1 -1
  58. package/dist/components/organisms/document-editor/document-editor.js +3 -3
  59. package/dist/components/organisms/document-editor/index.d.ts +1 -1
  60. package/dist/components/organisms/document-editor/index.d.ts.map +1 -1
  61. package/dist/components/organisms/draggable-dashboard-grid/draggable-dashboard-grid.d.ts +65 -0
  62. package/dist/components/organisms/draggable-dashboard-grid/draggable-dashboard-grid.d.ts.map +1 -0
  63. package/dist/components/organisms/draggable-dashboard-grid/draggable-dashboard-grid.js +124 -0
  64. package/dist/components/organisms/draggable-dashboard-grid/index.d.ts +3 -0
  65. package/dist/components/organisms/draggable-dashboard-grid/index.d.ts.map +1 -0
  66. package/dist/components/organisms/draggable-dashboard-grid/index.js +1 -0
  67. package/dist/components/organisms/form-layout/form-layout.d.ts +2 -2
  68. package/dist/components/organisms/form-layout/form-layout.d.ts.map +1 -1
  69. package/dist/components/organisms/form-layout/form-layout.js +11 -9
  70. package/dist/components/organisms/form-layout/index.d.ts +1 -1
  71. package/dist/components/organisms/form-layout/index.d.ts.map +1 -1
  72. package/dist/components/organisms/index.d.ts +6 -0
  73. package/dist/components/organisms/index.d.ts.map +1 -1
  74. package/dist/components/organisms/index.js +3 -0
  75. package/dist/components/organisms/model-selector/model-selector.d.ts +1 -1
  76. package/dist/components/organisms/widget-config-modal/index.d.ts +3 -0
  77. package/dist/components/organisms/widget-config-modal/index.d.ts.map +1 -0
  78. package/dist/components/organisms/widget-config-modal/index.js +1 -0
  79. package/dist/components/organisms/widget-config-modal/widget-config-modal.d.ts +57 -0
  80. package/dist/components/organisms/widget-config-modal/widget-config-modal.d.ts.map +1 -0
  81. package/dist/components/organisms/widget-config-modal/widget-config-modal.js +35 -0
  82. package/dist/components/organisms/widget-palette/index.d.ts +3 -0
  83. package/dist/components/organisms/widget-palette/index.d.ts.map +1 -0
  84. package/dist/components/organisms/widget-palette/index.js +1 -0
  85. package/dist/components/organisms/widget-palette/widget-palette.d.ts +71 -0
  86. package/dist/components/organisms/widget-palette/widget-palette.d.ts.map +1 -0
  87. package/dist/components/organisms/widget-palette/widget-palette.js +42 -0
  88. package/dist/index.d.ts +1 -0
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +458 -454
  91. package/dist/types/dashboard.d.ts +74 -0
  92. package/dist/types/dashboard.d.ts.map +1 -0
  93. package/dist/types/dashboard.js +7 -0
  94. package/package.json +3 -2
@@ -1,4 +1,4 @@
1
- import * as React from "react";
1
+ import type * as React from "react";
2
2
  import type { Control, FieldPath, FieldValues, UseFormReturn } from "react-hook-form";
3
3
  /**
4
4
  * Tipos de campo suportados pelo FormLayout
@@ -104,7 +104,7 @@ export interface FormLayoutProps<T extends FieldValues> {
104
104
  * Layout de formulário com seções e campos configuráveis
105
105
  * Suporta múltiplos tipos de campo e layout responsivo em grid
106
106
  */
107
- export declare function FormLayout<T extends FieldValues>({ form, sections, onSubmit, formId, title, description, headerContent }: FormLayoutProps<T>): import("react/jsx-runtime").JSX.Element;
107
+ export declare function FormLayout<T extends FieldValues>({ form, sections, onSubmit, formId, title, description, headerContent, }: FormLayoutProps<T>): import("react/jsx-runtime").JSX.Element;
108
108
  export declare namespace FormLayout {
109
109
  var displayName: string;
110
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"form-layout.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/form-layout/form-layout.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-layout.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/form-layout/form-layout.tsx"],"names":[],"mappings":"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"}
@@ -3,16 +3,18 @@ import { format } from "date-fns";
3
3
  import { ptBR } from "date-fns/locale";
4
4
  import { CalendarIcon } from "lucide-react";
5
5
  import { NumericFormat } from "react-number-format";
6
- import { cn } from "@/lib/utils";
7
- import { Button, Calendar, Checkbox, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Input, Popover, PopoverContent, PopoverTrigger, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Separator, Switch, RadioGroup, RadioGroupItem, Slider, Toggle, InputOTP, InputOTPGroup, InputOTPSlot, } from "../../atoms";
8
6
  import { PasswordInput } from "@/components/molecules";
7
+ import { cn } from "@/lib/utils";
8
+ import { Button, Calendar, Checkbox, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Input, InputOTP, InputOTPGroup, InputOTPSlot, Popover, PopoverContent, PopoverTrigger, RadioGroup, RadioGroupItem, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Separator, Slider, Switch, Toggle, } from "../../atoms";
9
9
  /**
10
10
  * Campo de formulário base que renderiza diferentes tipos de input
11
11
  * baseado na configuração fornecida
12
12
  */
13
13
  export function BaseFormField({ config, control }) {
14
- const { name, label, type, placeholder, description, required, options, decimalScale, disabled, prefix, radioOptions, otpLength, sliderRange } = config;
15
- return (_jsx(FormField, { control: control, name: name, render: ({ field }) => (_jsxs(FormItem, { className: type === "checkbox" ? "flex flex-row items-start space-x-3 space-y-0 rounded-md border p-4" : "", children: [type !== "checkbox" && (_jsxs(FormLabel, { children: [label, " ", required && _jsx("span", { className: "text-destructive", children: "*" })] })), _jsx(FormControl, { children: (() => {
14
+ const { name, label, type, placeholder, description, required, options, decimalScale, disabled, prefix, radioOptions, otpLength, sliderRange, } = config;
15
+ return (_jsx(FormField, { control: control, name: name, render: ({ field }) => (_jsxs(FormItem, { className: type === "checkbox"
16
+ ? "flex flex-row items-start space-x-3 space-y-0 rounded-md border p-4"
17
+ : "", children: [type !== "checkbox" && (_jsxs(FormLabel, { children: [label, " ", required && _jsx("span", { className: "text-destructive", children: "*" })] })), _jsx(FormControl, { children: (() => {
16
18
  switch (type) {
17
19
  case "text":
18
20
  return (_jsx(Input, { ...field, placeholder: placeholder, disabled: disabled, value: field.value || "" }));
@@ -37,12 +39,12 @@ export function BaseFormField({ config, control }) {
37
39
  return (_jsx(NumericFormat, { customInput: Input, decimalSeparator: ",", thousandSeparator: ".", decimalScale: decimalScale ?? 2, value: field.value ?? "", onValueChange: (values) => field.onChange(values.floatValue), placeholder: placeholder, disabled: disabled, prefix: prefix ?? "R$ " }));
38
40
  case "select":
39
41
  return (_jsxs(Select, { onValueChange: field.onChange, value: String(field.value || ""), disabled: disabled, children: [_jsx(FormControl, { children: _jsx(SelectTrigger, { children: _jsx(SelectValue, { placeholder: placeholder || "Selecione" }) }) }), _jsx(SelectContent, { children: options?.map((opt) => {
40
- const val = typeof opt === 'object' ? String(opt.value) : opt;
41
- const lab = typeof opt === 'object' ? opt.label : opt;
42
- return _jsx(SelectItem, { value: val, children: lab }, val);
42
+ const val = typeof opt === "object" ? String(opt.value) : opt;
43
+ const lab = typeof opt === "object" ? opt.label : opt;
44
+ return (_jsx(SelectItem, { value: val, children: lab }, val));
43
45
  }) })] }));
44
46
  case "date":
45
- return (_jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { variant: "outline", disabled: disabled, className: cn("w-full justify-start text-left font-normal", !field.value && "text-muted-foreground"), children: [_jsx(CalendarIcon, { className: "mr-2 h-4 w-4" }), field.value ? format(new Date(field.value), "dd/MM/yyyy", { locale: ptBR }) : _jsx("span", { children: placeholder || "Selecione" })] }) }), _jsx(PopoverContent, { className: "w-auto p-0", align: "start", children: _jsx(Calendar, { mode: "single", selected: field.value ? new Date(field.value) : undefined, onSelect: field.onChange, locale: ptBR }) })] }));
47
+ return (_jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { variant: "outline", disabled: disabled, className: cn("w-full justify-start text-left font-normal", !field.value && "text-muted-foreground"), children: [_jsx(CalendarIcon, { className: "mr-2 h-4 w-4" }), field.value ? (format(new Date(field.value), "dd/MM/yyyy", { locale: ptBR })) : (_jsx("span", { children: placeholder || "Selecione" }))] }) }), _jsx(PopoverContent, { className: "w-auto p-0", align: "start", children: _jsx(Calendar, { mode: "single", selected: field.value ? new Date(field.value) : undefined, onSelect: field.onChange, locale: ptBR }) })] }));
46
48
  case "checkbox":
47
49
  return (_jsxs(_Fragment, { children: [_jsx(Checkbox, { checked: !!field.value, onCheckedChange: field.onChange, disabled: disabled }), _jsxs("div", { className: "space-y-1 leading-none", children: [_jsx(FormLabel, { children: label }), description && _jsx(FormDescription, { children: description })] })] }));
48
50
  case "switch":
@@ -65,7 +67,7 @@ BaseFormField.displayName = "BaseFormField";
65
67
  * Layout de formulário com seções e campos configuráveis
66
68
  * Suporta múltiplos tipos de campo e layout responsivo em grid
67
69
  */
68
- export function FormLayout({ form, sections, onSubmit, formId, title, description, headerContent }) {
70
+ export function FormLayout({ form, sections, onSubmit, formId, title, description, headerContent, }) {
69
71
  /**
70
72
  * Utilitário para classes de grid responsivo
71
73
  * @param cols - Número de colunas (1-3)
@@ -1,2 +1,2 @@
1
- export { BaseFormField, FormLayout, type BaseFormFieldProps, type FormFieldConfig, type FormFieldType, type FormLayoutProps, type FormSectionConfig, } from "./form-layout";
1
+ export { BaseFormField, type BaseFormFieldProps, type FormFieldConfig, type FormFieldType, FormLayout, type FormLayoutProps, type FormSectionConfig, } from "./form-layout";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/form-layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,UAAU,EACV,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/form-layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC"}
@@ -18,6 +18,8 @@ export type { DashboardMovementsSectionProps, Movement } from "./dashboard-movem
18
18
  export { DashboardMovementsSection } from "./dashboard-movements-section";
19
19
  export type { DocumentEditorProps, DocumentPage } from "./document-editor";
20
20
  export { DocumentEditor } from "./document-editor";
21
+ export type { DraggableDashboardGridProps } from "./draggable-dashboard-grid";
22
+ export { DraggableDashboardGrid } from "./draggable-dashboard-grid";
21
23
  export { Edge } from "./edge";
22
24
  export type { BaseFormFieldProps, FormFieldConfig, FormFieldType, FormLayoutProps, FormSectionConfig, } from "./form-layout";
23
25
  export { BaseFormField, FormLayout } from "./form-layout";
@@ -53,4 +55,8 @@ export type { ToolbarProps } from "./toolbar";
53
55
  export { Toolbar } from "./toolbar";
54
56
  export type { WebPreviewBodyProps, WebPreviewConsoleProps, WebPreviewContextValue, WebPreviewNavigationButtonProps, WebPreviewNavigationProps, WebPreviewProps, WebPreviewUrlProps, } from "./web-preview";
55
57
  export { WebPreview, WebPreviewBody, WebPreviewConsole, WebPreviewNavigation, WebPreviewNavigationButton, WebPreviewUrl, } from "./web-preview";
58
+ export type { WidgetConfigModalProps } from "./widget-config-modal";
59
+ export { WidgetConfigModal } from "./widget-config-modal";
60
+ export type { WidgetPaletteItem, WidgetPaletteProps } from "./widget-palette";
61
+ export { WidgetPalette } from "./widget-palette";
56
62
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/organisms/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/organisms/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,+BAA+B,EAC/B,gCAAgC,EAChC,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,EACZ,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,wBAAwB,EACxB,2BAA2B,EAC3B,iBAAiB,EACjB,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,8BAA8B,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,eAAe,EACf,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1D,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EACV,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,SAAS,EACT,cAAc,GACf,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,IAAI,EACJ,UAAU,EACV,WAAW,EACX,eAAe,EACf,UAAU,EACV,UAAU,EACV,SAAS,GACV,MAAM,QAAQ,CAAC;AAChB,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,MAAM,EACN,aAAa,EACb,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,eAAe,EACf,QAAQ,EACR,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,SAAS,EACT,cAAc,EACd,gBAAgB,GACjB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,IAAI,EACJ,UAAU,EACV,WAAW,EACX,eAAe,EACf,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,GACZ,MAAM,QAAQ,CAAC;AAChB,YAAY,EACV,oCAAoC,EACpC,iCAAiC,EACjC,8BAA8B,EAC9B,0BAA0B,EAC1B,iCAAiC,EACjC,0BAA0B,EAC1B,2BAA2B,EAC3B,oBAAoB,EACpB,sBAAsB,EACtB,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,uBAAuB,EACvB,gCAAgC,EAChC,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,gCAAgC,EAChC,yBAAyB,EACzB,gCAAgC,EAChC,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,6BAA6B,EAC7B,0BAA0B,EAC1B,sBAAsB,EACtB,6BAA6B,EAC7B,2BAA2B,EAC3B,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,WAAW,EACX,+BAA+B,EAC/B,qBAAqB,EACrB,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,SAAS,GACV,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,KAAK,EACL,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,qBAAqB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5E,YAAY,EACV,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACrE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EACV,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,+BAA+B,EAC/B,yBAAyB,EACzB,eAAe,EACf,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,EAC1B,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -10,6 +10,7 @@ export { DashboardHeaderActions } from "./dashboard-header-actions";
10
10
  export { DashboardLayout } from "./dashboard-layout";
11
11
  export { DashboardMovementsSection } from "./dashboard-movements-section";
12
12
  export { DocumentEditor } from "./document-editor";
13
+ export { DraggableDashboardGrid } from "./draggable-dashboard-grid";
13
14
  export { Edge } from "./edge";
14
15
  export { BaseFormField, FormLayout } from "./form-layout";
15
16
  export { GenealogyCanvas } from "./genealogy-canvas";
@@ -28,3 +29,5 @@ export { ScriptEditor } from "./script-editor";
28
29
  export { StatsGrid } from "./stats-grid";
29
30
  export { Toolbar } from "./toolbar";
30
31
  export { WebPreview, WebPreviewBody, WebPreviewConsole, WebPreviewNavigation, WebPreviewNavigationButton, WebPreviewUrl, } from "./web-preview";
32
+ export { WidgetConfigModal } from "./widget-config-modal";
33
+ export { WidgetPalette } from "./widget-palette";
@@ -30,7 +30,7 @@ export declare const ModelSelectorInput: React.ForwardRefExoticComponent<Omit<Om
30
30
  ref?: React.Ref<HTMLInputElement>;
31
31
  } & {
32
32
  asChild?: boolean;
33
- }, "asChild" | "key" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "onChange" | "value" | "type"> & {
33
+ }, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "value" | "onChange" | "type"> & {
34
34
  value?: string;
35
35
  onValueChange?: (search: string) => void;
36
36
  } & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,3 @@
1
+ export type { WidgetConfigModalProps } from "./widget-config-modal";
2
+ export { WidgetConfigModal } from "./widget-config-modal";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/widget-config-modal/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1 @@
1
+ export { WidgetConfigModal } from "./widget-config-modal";
@@ -0,0 +1,57 @@
1
+ /**
2
+ * WidgetConfigModal - Organism Component
3
+ *
4
+ * Modal de configuração de widgets com render prop pattern.
5
+ * Totalmente extensível e genérico.
6
+ */
7
+ import * as React from "react";
8
+ export interface WidgetConfigModalProps {
9
+ /**
10
+ * Se o modal está aberto
11
+ */
12
+ open: boolean;
13
+ /**
14
+ * Widget a ser configurado
15
+ */
16
+ widget: {
17
+ id: string;
18
+ type: string;
19
+ config?: Record<string, unknown>;
20
+ } | null;
21
+ /**
22
+ * Callback quando configuração é salva
23
+ */
24
+ onSave: (widgetId: string, config: Record<string, unknown>) => void;
25
+ /**
26
+ * Callback quando modal é fechado
27
+ */
28
+ onClose: () => void;
29
+ /**
30
+ * Render prop para renderizar formulário de configuração customizado
31
+ */
32
+ renderConfigForm?: (widget: {
33
+ id: string;
34
+ type: string;
35
+ config?: Record<string, unknown>;
36
+ }, config: Record<string, unknown>, onUpdate: (config: Record<string, unknown>) => void) => React.ReactNode;
37
+ /**
38
+ * Título do modal (opcional)
39
+ */
40
+ title?: string;
41
+ /**
42
+ * Descrição do modal (opcional)
43
+ */
44
+ description?: string;
45
+ /**
46
+ * Classe CSS adicional
47
+ */
48
+ className?: string;
49
+ }
50
+ /**
51
+ * Modal de configuração de widget
52
+ *
53
+ * Componente genérico que usa render prop pattern para permitir
54
+ * formulários de configuração totalmente customizados.
55
+ */
56
+ export declare function WidgetConfigModal({ open, widget, onSave, onClose, renderConfigForm, title, description, className, }: WidgetConfigModalProps): import("react/jsx-runtime").JSX.Element | null;
57
+ //# sourceMappingURL=widget-config-modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget-config-modal.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/widget-config-modal/widget-config-modal.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;IAE9E;;OAEG;IACH,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAEpE;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;OAEG;IACH,gBAAgB,CAAC,EAAE,CACjB,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EACtE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,KAChD,KAAK,CAAC,SAAS,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,MAAM,EACN,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,KAAK,EACL,WAAW,EACX,SAAS,GACV,EAAE,sBAAsB,kDAoDxB"}
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * WidgetConfigModal - Organism Component
4
+ *
5
+ * Modal de configuração de widgets com render prop pattern.
6
+ * Totalmente extensível e genérico.
7
+ */
8
+ import * as React from "react";
9
+ import { Button, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from "@/components/atoms";
10
+ import { cn } from "@/lib/utils";
11
+ /**
12
+ * Modal de configuração de widget
13
+ *
14
+ * Componente genérico que usa render prop pattern para permitir
15
+ * formulários de configuração totalmente customizados.
16
+ */
17
+ export function WidgetConfigModal({ open, widget, onSave, onClose, renderConfigForm, title, description, className, }) {
18
+ if (!widget)
19
+ return null;
20
+ const [config, setConfig] = React.useState(widget.config || {});
21
+ // Atualiza config quando widget muda
22
+ React.useEffect(() => {
23
+ if (widget) {
24
+ setConfig(widget.config || {});
25
+ }
26
+ }, [widget]);
27
+ const handleSave = () => {
28
+ onSave(widget.id, config);
29
+ onClose();
30
+ };
31
+ const handleUpdate = (newConfig) => {
32
+ setConfig((prev) => ({ ...prev, ...newConfig }));
33
+ };
34
+ return (_jsx(Dialog, { open: open, onOpenChange: (isOpen) => !isOpen && onClose(), children: _jsxs(DialogContent, { className: cn("max-w-2xl max-h-[90vh] overflow-y-auto", className), children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: title || `Configurar Widget` }), _jsx(DialogDescription, { children: description || `Personalize os dados e configurações do widget "${widget.type}"` })] }), _jsx("div", { className: "space-y-6", children: renderConfigForm ? (renderConfigForm(widget, config, handleUpdate)) : (_jsx("div", { className: "p-4 text-sm text-muted-foreground", children: "Forne\u00E7a uma fun\u00E7\u00E3o renderConfigForm para personalizar o formul\u00E1rio." })) }), _jsxs(DialogFooter, { children: [_jsx(Button, { type: "button", variant: "outline", onClick: onClose, children: "Cancelar" }), _jsx(Button, { type: "button", onClick: handleSave, children: "Salvar Configura\u00E7\u00E3o" })] })] }) }));
35
+ }
@@ -0,0 +1,3 @@
1
+ export type { WidgetPaletteItem, WidgetPaletteProps } from "./widget-palette";
2
+ export { WidgetPalette } from "./widget-palette";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/widget-palette/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1 @@
1
+ export { WidgetPalette } from "./widget-palette";
@@ -0,0 +1,71 @@
1
+ /**
2
+ * WidgetPalette - Organism Component
3
+ *
4
+ * Sidebar com widgets disponíveis para adicionar ao dashboard.
5
+ * Componente genérico e totalmente configurável via props.
6
+ */
7
+ export interface WidgetPaletteItem {
8
+ /**
9
+ * ID único do widget
10
+ */
11
+ id: string;
12
+ /**
13
+ * Tipo do widget (string genérico)
14
+ */
15
+ type: string;
16
+ /**
17
+ * Nome do widget
18
+ */
19
+ name: string;
20
+ /**
21
+ * Descrição do widget
22
+ */
23
+ description: string;
24
+ /**
25
+ * Ícone do widget
26
+ */
27
+ icon: React.ComponentType<{
28
+ className?: string;
29
+ }>;
30
+ /**
31
+ * Tamanho padrão do widget (largura x altura)
32
+ */
33
+ defaultSize: {
34
+ w: number;
35
+ h: number;
36
+ };
37
+ }
38
+ export interface WidgetPaletteProps {
39
+ /**
40
+ * Se a paleta está aberta
41
+ */
42
+ isOpen: boolean;
43
+ /**
44
+ * Lista de widgets disponíveis (obrigatória)
45
+ */
46
+ widgets: WidgetPaletteItem[];
47
+ /**
48
+ * Callback para fechar a paleta
49
+ */
50
+ onClose?: () => void;
51
+ /**
52
+ * Título da paleta (opcional)
53
+ */
54
+ title?: string;
55
+ /**
56
+ * Descrição da paleta (opcional)
57
+ */
58
+ description?: string;
59
+ /**
60
+ * Classe CSS adicional
61
+ */
62
+ className?: string;
63
+ }
64
+ /**
65
+ * Paleta de widgets
66
+ *
67
+ * Componente genérico que exibe uma lista de widgets arrastáveis.
68
+ * Totalmente configurável via props, sem widgets hardcoded.
69
+ */
70
+ export declare function WidgetPalette({ isOpen, widgets, onClose, title, description, className, }: WidgetPaletteProps): import("react/jsx-runtime").JSX.Element | null;
71
+ //# sourceMappingURL=widget-palette.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget-palette.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/widget-palette/widget-palette.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAElD;;OAEG;IACH,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAE7B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAsDD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,OAAO,EACP,OAAO,EACP,KAA6B,EAC7B,WAA2D,EAC3D,SAAS,GACV,EAAE,kBAAkB,kDAiDpB"}
@@ -0,0 +1,42 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * WidgetPalette - Organism Component
4
+ *
5
+ * Sidebar com widgets disponíveis para adicionar ao dashboard.
6
+ * Componente genérico e totalmente configurável via props.
7
+ */
8
+ import { useDraggable } from "@dnd-kit/core";
9
+ import { X } from "lucide-react";
10
+ import { cn } from "@/lib/utils";
11
+ /**
12
+ * Item de widget arrastável da paleta
13
+ */
14
+ function DraggableWidgetItem({ widget }) {
15
+ const { attributes, listeners, setNodeRef, transform, isDragging } = useDraggable({
16
+ id: `palette-${widget.id}`,
17
+ data: {
18
+ type: "palette-widget",
19
+ widgetId: widget.id,
20
+ widgetType: widget.type,
21
+ defaultSize: widget.defaultSize,
22
+ },
23
+ });
24
+ const style = transform
25
+ ? {
26
+ transform: `translate3d(${transform.x}px, ${transform.y}px, 0)`,
27
+ }
28
+ : undefined;
29
+ const Icon = widget.icon;
30
+ return (_jsx("div", { ref: setNodeRef, style: style, ...listeners, ...attributes, className: cn("p-4 rounded-lg border-2 border-border bg-card", "cursor-grab active:cursor-grabbing", "hover:border-primary hover:shadow-md", "transition-all duration-200", isDragging && "opacity-50 z-50"), children: _jsxs("div", { className: "flex items-start gap-3", children: [_jsx("div", { className: "p-2 rounded-md bg-primary/10", children: _jsx(Icon, { className: "w-5 h-5 text-primary" }) }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("h4", { className: "font-semibold text-sm text-foreground mb-1", children: widget.name }), _jsx("p", { className: "text-xs text-muted-foreground line-clamp-2", children: widget.description }), _jsxs("div", { className: "mt-2 text-xs text-muted-foreground", children: [widget.defaultSize.w, " \u00D7 ", widget.defaultSize.h] })] })] }) }));
31
+ }
32
+ /**
33
+ * Paleta de widgets
34
+ *
35
+ * Componente genérico que exibe uma lista de widgets arrastáveis.
36
+ * Totalmente configurável via props, sem widgets hardcoded.
37
+ */
38
+ export function WidgetPalette({ isOpen, widgets, onClose, title = "Widgets Disponíveis", description = "Arraste widgets para adicionar ao dashboard", className, }) {
39
+ if (!isOpen)
40
+ return null;
41
+ return (_jsxs("div", { className: cn("fixed right-0 top-0 h-full w-80 bg-background border-l border-border", "shadow-lg z-40 transition-transform duration-300", "flex flex-col", className), children: [_jsxs("div", { className: "p-4 border-b border-border", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("h3", { className: "text-lg font-semibold text-foreground", children: title }), onClose && (_jsx("button", { onClick: onClose, className: "p-1 rounded-md hover:bg-accent transition-colors", "aria-label": "Fechar paleta", children: _jsx(X, { className: "w-5 h-5" }) }))] }), _jsx("p", { className: "text-sm text-muted-foreground mt-1", children: description })] }), _jsx("div", { className: "flex-1 overflow-y-auto p-4 space-y-3", children: widgets.length === 0 ? (_jsx("div", { className: "text-center py-8 text-sm text-muted-foreground", children: "Nenhum widget dispon\u00EDvel" })) : (widgets.map((widget) => _jsx(DraggableWidgetItem, { widget: widget }, widget.id))) }), _jsx("div", { className: "p-4 border-t border-border bg-muted/50", children: _jsxs("p", { className: "text-xs text-muted-foreground text-center", children: [widgets.length, " ", widgets.length === 1 ? "widget" : "widgets", " dispon\u00EDvel", widgets.length !== 1 ? "eis" : ""] }) })] }));
42
+ }
package/dist/index.d.ts CHANGED
@@ -13,4 +13,5 @@ export * from "./components/atoms";
13
13
  export * from "./components/molecules";
14
14
  export * from "./components/organisms";
15
15
  export { cn } from "./lib/utils";
16
+ export type { GridConfig, WidgetConfig, WidgetLayout } from "./types/dashboard";
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,cAAc,oBAAoB,CAAC;AAGnC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,wBAAwB,CAAC;AAGvC,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,cAAc,oBAAoB,CAAC;AAGnC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}