@snksergio/design-system 0.46.0 → 0.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist-lib/chunks/{avatar-eM5txRFZ.cjs → avatar-DAmZ7fBZ.cjs} +2 -2
  2. package/dist-lib/chunks/{avatar-DFWEwBKu.mjs.map → avatar-DAmZ7fBZ.cjs.map} +1 -1
  3. package/dist-lib/chunks/{avatar-DFWEwBKu.mjs → avatar-FPbG1TRy.mjs} +43 -43
  4. package/dist-lib/chunks/{avatar-eM5txRFZ.cjs.map → avatar-FPbG1TRy.mjs.map} +1 -1
  5. package/dist-lib/chunks/{input-az2SuVXQ.cjs → input-Ci_2-5Te.cjs} +2 -2
  6. package/dist-lib/chunks/{input-az2SuVXQ.cjs.map → input-Ci_2-5Te.cjs.map} +1 -1
  7. package/dist-lib/chunks/{input-CfmzMYtd.mjs → input-tjIT8HNE.mjs} +2 -2
  8. package/dist-lib/chunks/{input-CfmzMYtd.mjs.map → input-tjIT8HNE.mjs.map} +1 -1
  9. package/dist-lib/chunks/{kpi-delta-DwQWNM-F.cjs → kpi-delta-1-gsPFvU.cjs} +3 -3
  10. package/dist-lib/chunks/{kpi-delta-DwQWNM-F.cjs.map → kpi-delta-1-gsPFvU.cjs.map} +1 -1
  11. package/dist-lib/chunks/{kpi-delta-DuxCD93G.mjs → kpi-delta-BRTgTaO1.mjs} +3 -3
  12. package/dist-lib/chunks/{kpi-delta-DuxCD93G.mjs.map → kpi-delta-BRTgTaO1.mjs.map} +1 -1
  13. package/dist-lib/chunks/{page-header--cPS_Z-a.mjs → page-header-DdWp9c-r.mjs} +2 -2
  14. package/dist-lib/chunks/{page-header--cPS_Z-a.mjs.map → page-header-DdWp9c-r.mjs.map} +1 -1
  15. package/dist-lib/chunks/{page-header-DvAJoEfb.cjs → page-header-DrKDiVFN.cjs} +2 -2
  16. package/dist-lib/chunks/{page-header-DvAJoEfb.cjs.map → page-header-DrKDiVFN.cjs.map} +1 -1
  17. package/dist-lib/chunks/{panel-DTVjD2gJ.cjs → panel-57Pt_bL9.cjs} +5 -5
  18. package/dist-lib/chunks/{panel-DTVjD2gJ.cjs.map → panel-57Pt_bL9.cjs.map} +1 -1
  19. package/dist-lib/chunks/{panel-BxYvTvlN.mjs → panel-DlZeQw7G.mjs} +5 -5
  20. package/dist-lib/chunks/{panel-BxYvTvlN.mjs.map → panel-DlZeQw7G.mjs.map} +1 -1
  21. package/dist-lib/chunks/{sheet-D1vQth7X.mjs → sheet-7v5vamnP.mjs} +2 -2
  22. package/dist-lib/chunks/{sheet-D1vQth7X.mjs.map → sheet-7v5vamnP.mjs.map} +1 -1
  23. package/dist-lib/chunks/{sheet-j-d_UX7R.cjs → sheet-BZlQ0gKA.cjs} +2 -2
  24. package/dist-lib/chunks/{sheet-j-d_UX7R.cjs.map → sheet-BZlQ0gKA.cjs.map} +1 -1
  25. package/dist-lib/chunks/{toggle-group-DPzjrk6O.mjs → toggle-group-CnAN6ZnT.mjs} +43 -15
  26. package/dist-lib/chunks/toggle-group-CnAN6ZnT.mjs.map +1 -0
  27. package/dist-lib/chunks/{toggle-group-FJHFIlJP.cjs → toggle-group-DYGba7RP.cjs} +31 -3
  28. package/dist-lib/chunks/toggle-group-DYGba7RP.cjs.map +1 -0
  29. package/dist-lib/chunks/{useTheme-CS_no6zP.mjs → useTheme-Bk8AYqLr.mjs} +2 -2
  30. package/dist-lib/chunks/{useTheme-CS_no6zP.mjs.map → useTheme-Bk8AYqLr.mjs.map} +1 -1
  31. package/dist-lib/chunks/{useTheme-BB3QhUpu.cjs → useTheme-Dh3POjCr.cjs} +2 -2
  32. package/dist-lib/chunks/{useTheme-BB3QhUpu.cjs.map → useTheme-Dh3POjCr.cjs.map} +1 -1
  33. package/dist-lib/index.cjs +114 -12
  34. package/dist-lib/index.cjs.map +1 -1
  35. package/dist-lib/index.mjs +252 -150
  36. package/dist-lib/index.mjs.map +1 -1
  37. package/dist-lib/preview/chat.cjs +3 -3
  38. package/dist-lib/preview/chat.mjs +3 -3
  39. package/dist-lib/preview/clientes.cjs +6 -6
  40. package/dist-lib/preview/clientes.mjs +6 -6
  41. package/dist-lib/preview/dashboard.cjs +4 -4
  42. package/dist-lib/preview/dashboard.mjs +4 -4
  43. package/dist-lib/shadcn.cjs +5 -17
  44. package/dist-lib/shadcn.cjs.map +1 -1
  45. package/dist-lib/shadcn.mjs +56 -69
  46. package/dist-lib/shadcn.mjs.map +1 -1
  47. package/dist-lib/src/components/index.d.ts +1 -0
  48. package/dist-lib/src/components/index.d.ts.map +1 -1
  49. package/dist-lib/src/components/shadcn/slider.d.ts.map +1 -1
  50. package/dist-lib/src/components/shadcn/tooltip.d.ts +20 -1
  51. package/dist-lib/src/components/shadcn/tooltip.d.ts.map +1 -1
  52. package/dist-lib/src/components/ui/FileUploadField/file-upload-field.d.ts.map +1 -1
  53. package/dist-lib/src/components/ui/FileUploadField/file-upload-field.styles.d.ts +27 -0
  54. package/dist-lib/src/components/ui/FileUploadField/file-upload-field.styles.d.ts.map +1 -1
  55. package/dist-lib/src/components/ui/ScreenLoader/index.d.ts +3 -0
  56. package/dist-lib/src/components/ui/ScreenLoader/index.d.ts.map +1 -0
  57. package/dist-lib/src/components/ui/ScreenLoader/screen-loader.d.ts +21 -0
  58. package/dist-lib/src/components/ui/ScreenLoader/screen-loader.d.ts.map +1 -0
  59. package/dist-lib/src/components/ui/ScreenLoader/screen-loader.styles.d.ts +111 -0
  60. package/dist-lib/src/components/ui/ScreenLoader/screen-loader.styles.d.ts.map +1 -0
  61. package/dist-lib/src/components/ui/ScreenLoader/screen-loader.types.d.ts +26 -0
  62. package/dist-lib/src/components/ui/ScreenLoader/screen-loader.types.d.ts.map +1 -0
  63. package/dist-lib/src/components/ui/Spinner/spinner.styles.d.ts +9 -0
  64. package/dist-lib/src/components/ui/Spinner/spinner.styles.d.ts.map +1 -1
  65. package/package.json +1 -1
  66. package/dist-lib/chunks/toggle-group-DPzjrk6O.mjs.map +0 -1
  67. package/dist-lib/chunks/toggle-group-FJHFIlJP.cjs.map +0 -1
@@ -2,12 +2,12 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
- const avatar = require("../chunks/avatar-eM5txRFZ.cjs");
6
- const useTheme = require("../chunks/useTheme-BB3QhUpu.cjs");
5
+ const avatar = require("../chunks/avatar-DAmZ7fBZ.cjs");
6
+ const useTheme = require("../chunks/useTheme-Dh3POjCr.cjs");
7
7
  const lucideReact = require("lucide-react");
8
8
  const appShellMocks = require("../chunks/app-shell-mocks-oO_IV3Gw.cjs");
9
9
  const chatV2Mocks = require("../chunks/chat-v2-mocks-BV9Wha_Z.cjs");
10
- const input = require("../chunks/input-az2SuVXQ.cjs");
10
+ const input = require("../chunks/input-Ci_2-5Te.cjs");
11
11
  const chatV2Styles = avatar.tv({
12
12
  slots: {
13
13
  /** Body do AppShell — flex row com gap entre colunas. `relative` pra mobile overlays. */
@@ -1,11 +1,11 @@
1
1
  import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
2
  import { useState, useRef, useEffect, useCallback, useMemo } from "react";
3
- import { t as tv, y as DropdownMenu, Q as DropdownMenuTrigger, B as Button, E as DropdownMenuContent, G as DropdownMenuItem, L as DropdownMenuSeparator, A as Avatar, a as AvatarFallback, c as cn } from "../chunks/avatar-DFWEwBKu.mjs";
4
- import { C as Chip, a as ChipGroup, b as ChipGroupItem, u as useTheme, A as AppShell } from "../chunks/useTheme-CS_no6zP.mjs";
3
+ import { a8 as tv, x as DropdownMenu, O as DropdownMenuTrigger, a7 as Button, z as DropdownMenuContent, E as DropdownMenuItem, J as DropdownMenuSeparator, A as Avatar, a as AvatarFallback, c as cn } from "../chunks/avatar-FPbG1TRy.mjs";
4
+ import { C as Chip, a as ChipGroup, b as ChipGroupItem, u as useTheme, A as AppShell } from "../chunks/useTheme-Bk8AYqLr.mjs";
5
5
  import { MoreVertical, CheckCircle2, Phone, Video, Tag, UserPlus, Archive, CheckCheck, Check, ArrowLeft, PanelRightClose, PanelRightOpen, Paperclip, Smile, Send, Mic, ChevronDown, X, Plus, Menu, Search } from "lucide-react";
6
6
  import { e as APP_SHELL_THEME_OPTIONS, c as APP_SHELL_MESSAGES, d as APP_SHELL_NOTIFICATIONS, A as APP_SHELL_COMMANDS, a as APP_SHELL_CONTEXTS } from "../chunks/app-shell-mocks-kWIVSzLs.mjs";
7
7
  import { C as CHANNEL_LABEL, a as CHANNEL_HEX, S as SAMPLE_MESSAGES, b as STATUS_DOT, F as FILTER_GROUPS, d as CONVERSATIONS, e as CONVERSATION_DETAILS, D as DEFAULT_DETAIL } from "../chunks/chat-v2-mocks-DvZRkhmz.mjs";
8
- import { I as Input } from "../chunks/input-CfmzMYtd.mjs";
8
+ import { I as Input } from "../chunks/input-tjIT8HNE.mjs";
9
9
  const chatV2Styles = tv({
10
10
  slots: {
11
11
  /** Body do AppShell — flex row com gap entre colunas. `relative` pra mobile overlays. */
@@ -2,14 +2,14 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
- const useTheme = require("../chunks/useTheme-BB3QhUpu.cjs");
5
+ const useTheme = require("../chunks/useTheme-Dh3POjCr.cjs");
6
6
  const lucideReact = require("lucide-react");
7
7
  const clientesShowcaseMocks = require("../chunks/clientes-showcase-mocks-CwhluBTT.cjs");
8
- const panel = require("../chunks/panel-DTVjD2gJ.cjs");
9
- const avatar = require("../chunks/avatar-eM5txRFZ.cjs");
10
- require("../chunks/input-az2SuVXQ.cjs");
11
- require("../chunks/sheet-j-d_UX7R.cjs");
12
- const pageHeader = require("../chunks/page-header-DvAJoEfb.cjs");
8
+ const panel = require("../chunks/panel-57Pt_bL9.cjs");
9
+ const avatar = require("../chunks/avatar-DAmZ7fBZ.cjs");
10
+ require("../chunks/input-Ci_2-5Te.cjs");
11
+ require("../chunks/sheet-BZlQ0gKA.cjs");
12
+ const pageHeader = require("../chunks/page-header-DrKDiVFN.cjs");
13
13
  require("react-dom");
14
14
  const appShellMocks = require("../chunks/app-shell-mocks-oO_IV3Gw.cjs");
15
15
  const drawerFormStyles = avatar.tv({
@@ -1,13 +1,13 @@
1
1
  import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
2
  import { useState, useEffect, useRef, useCallback, useMemo } from "react";
3
- import { a as ChipGroup, b as ChipGroupItem, C as Chip, u as useTheme, A as AppShell } from "../chunks/useTheme-CS_no6zP.mjs";
3
+ import { a as ChipGroup, b as ChipGroupItem, C as Chip, u as useTheme, A as AppShell } from "../chunks/useTheme-Bk8AYqLr.mjs";
4
4
  import { Pencil, Trash2, ChevronDown, MoreHorizontal, Plus, Download, Maximize2, Copy, Upload, RotateCcw, MessageSquare, Archive, Clock } from "lucide-react";
5
5
  import { S as STATUSES, a as STATUS_DOT, C as CATEGORIES, b as CITIES, A as AGENTS, d as CATEGORY_KIND, f as formatBRL, e as formatShortDate, g as CLIENTS_87, K as KANBAN_COLUMNS, h as STATUS_OPTIONS, i as CATEGORY_OPTIONS, j as AGENTS_LOOKUP, k as AGENT_OPTIONS } from "../chunks/clientes-showcase-mocks-CwWGCCmf.mjs";
6
- import { P as Panel, F as FormFieldInput, a as FormField, b as FormFieldSelect, c as FormFieldTextarea, d as FloatingPanel, p as presetView, D as DataTable, B as BulkActionButton, A as AlertModal } from "../chunks/panel-BxYvTvlN.mjs";
7
- import { t as tv, B as Button, A as Avatar, a as AvatarFallback } from "../chunks/avatar-DFWEwBKu.mjs";
8
- import "../chunks/input-CfmzMYtd.mjs";
9
- import "../chunks/sheet-D1vQth7X.mjs";
10
- import { P as PageHeader } from "../chunks/page-header--cPS_Z-a.mjs";
6
+ import { P as Panel, F as FormFieldInput, a as FormField, b as FormFieldSelect, c as FormFieldTextarea, d as FloatingPanel, p as presetView, D as DataTable, B as BulkActionButton, A as AlertModal } from "../chunks/panel-DlZeQw7G.mjs";
7
+ import { a8 as tv, a7 as Button, A as Avatar, a as AvatarFallback } from "../chunks/avatar-FPbG1TRy.mjs";
8
+ import "../chunks/input-tjIT8HNE.mjs";
9
+ import "../chunks/sheet-7v5vamnP.mjs";
10
+ import { P as PageHeader } from "../chunks/page-header-DdWp9c-r.mjs";
11
11
  import "react-dom";
12
12
  import { b as APP_SHELL_LAYOUT_OPTIONS, f as APP_SHELL_USER, e as APP_SHELL_THEME_OPTIONS, c as APP_SHELL_MESSAGES, d as APP_SHELL_NOTIFICATIONS, A as APP_SHELL_COMMANDS, a as APP_SHELL_CONTEXTS } from "../chunks/app-shell-mocks-kWIVSzLs.mjs";
13
13
  const drawerFormStyles = tv({
@@ -2,12 +2,12 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
- const useTheme = require("../chunks/useTheme-BB3QhUpu.cjs");
5
+ const useTheme = require("../chunks/useTheme-Dh3POjCr.cjs");
6
6
  const lucideReact = require("lucide-react");
7
7
  const RechartsPrimitive = require("recharts");
8
- const avatar = require("../chunks/avatar-eM5txRFZ.cjs");
9
- const pageHeader = require("../chunks/page-header-DvAJoEfb.cjs");
10
- const kpiDelta = require("../chunks/kpi-delta-DwQWNM-F.cjs");
8
+ const avatar = require("../chunks/avatar-DAmZ7fBZ.cjs");
9
+ const pageHeader = require("../chunks/page-header-DrKDiVFN.cjs");
10
+ const kpiDelta = require("../chunks/kpi-delta-1-gsPFvU.cjs");
11
11
  const appShellMocks = require("../chunks/app-shell-mocks-oO_IV3Gw.cjs");
12
12
  const BRAZIL_VIEWBOX = "0 0 1000 912";
13
13
  const BRAZIL_PATHS = [
@@ -1,11 +1,11 @@
1
1
  import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
2
  import { useState } from "react";
3
- import { u as useTheme, A as AppShell, C as Chip } from "../chunks/useTheme-CS_no6zP.mjs";
3
+ import { u as useTheme, A as AppShell, C as Chip } from "../chunks/useTheme-Bk8AYqLr.mjs";
4
4
  import { MoreVertical, ChevronDown, Calendar, Phone, Timer, CheckCircle2, UserPlus, Clock, TrendingUp, Star, Headphones, Bot, Sun, ArrowRight, MessageSquare, Send, Mail, Search } from "lucide-react";
5
5
  import { ResponsiveContainer, BarChart, CartesianGrid, XAxis, YAxis, Tooltip, Bar, PieChart, Pie, Cell, RadialBarChart, PolarAngleAxis, RadialBar, AreaChart, Area } from "recharts";
6
- import { B as Button, c as cn, A as Avatar, a as AvatarFallback } from "../chunks/avatar-DFWEwBKu.mjs";
7
- import { P as PageHeader } from "../chunks/page-header--cPS_Z-a.mjs";
8
- import { K as KpiGroup, a as Kpi, b as KpiDelta } from "../chunks/kpi-delta-DuxCD93G.mjs";
6
+ import { a7 as Button, c as cn, A as Avatar, a as AvatarFallback } from "../chunks/avatar-FPbG1TRy.mjs";
7
+ import { P as PageHeader } from "../chunks/page-header-DdWp9c-r.mjs";
8
+ import { K as KpiGroup, a as Kpi, b as KpiDelta } from "../chunks/kpi-delta-BRTgTaO1.mjs";
9
9
  import { e as APP_SHELL_THEME_OPTIONS, c as APP_SHELL_MESSAGES, d as APP_SHELL_NOTIFICATIONS, A as APP_SHELL_COMMANDS, a as APP_SHELL_CONTEXTS } from "../chunks/app-shell-mocks-kWIVSzLs.mjs";
10
10
  const BRAZIL_VIEWBOX = "0 0 1000 912";
11
11
  const BRAZIL_PATHS = [
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const toggleGroup = require("./chunks/toggle-group-FJHFIlJP.cjs");
4
- const sheet = require("./chunks/sheet-j-d_UX7R.cjs");
3
+ const toggleGroup = require("./chunks/toggle-group-DYGba7RP.cjs");
4
+ const sheet = require("./chunks/sheet-BZlQ0gKA.cjs");
5
5
  const AspectRatioPrimitive = require("@radix-ui/react-aspect-ratio");
6
- const avatar = require("./chunks/avatar-eM5txRFZ.cjs");
7
- const input = require("./chunks/input-az2SuVXQ.cjs");
6
+ const avatar = require("./chunks/avatar-DAmZ7fBZ.cjs");
7
+ const input = require("./chunks/input-Ci_2-5Te.cjs");
8
8
  const jsxRuntime = require("react/jsx-runtime");
9
9
  const React = require("react");
10
10
  const lucideReact = require("lucide-react");
@@ -28,18 +28,6 @@ function _interopNamespaceDefault(e) {
28
28
  const AspectRatioPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(AspectRatioPrimitive);
29
29
  const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
30
30
  const AspectRatio = AspectRatioPrimitive__namespace.Root;
31
- function Skeleton({
32
- className,
33
- ...props
34
- }) {
35
- return /* @__PURE__ */ jsxRuntime.jsx(
36
- "div",
37
- {
38
- className: avatar.cn("animate-pulse rounded-radius-md bg-bg-muted", className),
39
- ...props
40
- }
41
- );
42
- }
43
31
  const Toaster = ({ ...props }) => {
44
32
  const [isDark, setIsDark] = React__namespace.useState(
45
33
  () => typeof document !== "undefined" && document.documentElement.classList.contains("dark")
@@ -165,6 +153,7 @@ exports.RadioGroupItem = toggleGroup.RadioGroupItem;
165
153
  exports.ScrollArea = toggleGroup.ScrollArea;
166
154
  exports.ScrollBar = toggleGroup.ScrollBar;
167
155
  exports.Separator = toggleGroup.Separator;
156
+ exports.Skeleton = toggleGroup.Skeleton;
168
157
  exports.Slider = toggleGroup.Slider;
169
158
  exports.Tabs = toggleGroup.Tabs;
170
159
  exports.TabsContent = toggleGroup.TabsContent;
@@ -289,6 +278,5 @@ exports.inputGroupVariants = avatar.inputGroupVariants;
289
278
  exports.Input = input.Input;
290
279
  exports.inputVariants = input.inputVariants;
291
280
  exports.AspectRatio = AspectRatio;
292
- exports.Skeleton = Skeleton;
293
281
  exports.Toaster = Toaster;
294
282
  //# sourceMappingURL=shadcn.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"shadcn.cjs","sources":["../src/components/shadcn/aspect-ratio.tsx","../src/components/shadcn/skeleton.tsx","../src/components/shadcn/sonner.tsx"],"sourcesContent":["import * as AspectRatioPrimitive from \"@radix-ui/react-aspect-ratio\"\r\n\r\nconst AspectRatio = AspectRatioPrimitive.Root\r\n\r\nexport { AspectRatio }\r\n","import * as React from \"react\";\r\nimport { cn } from \"@/lib/utils\";\r\n\r\n/**\r\n * Skeleton — placeholder de carregamento (pulse). Tokenizado iGreen:\r\n * `bg-bg-muted` + `rounded-radius-md`. Componha vários pra desenhar a\r\n * silhueta do conteúdo (linha de texto, avatar, card) enquanto carrega.\r\n */\r\nfunction Skeleton({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) {\r\n return (\r\n <div\r\n className={cn(\"animate-pulse rounded-radius-md bg-bg-muted\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport { Skeleton };\r\n","import * as React from \"react\";\r\nimport {\r\n CircleCheck,\r\n Info,\r\n LoaderCircle,\r\n OctagonX,\r\n TriangleAlert,\r\n} from \"lucide-react\";\r\nimport { Toaster as Sonner } from \"sonner\";\r\n\r\ntype ToasterProps = React.ComponentProps<typeof Sonner>;\r\n\r\n/**\r\n * Toaster (Sonner) — notificações/toasts. Tokenizado iGreen: surface +\r\n * border-default + shadow-lg, texto via tokens fg, ícones por status.\r\n * Self-contained: segue o tema observando a classe `.dark` no <html>\r\n * (não depende de next-themes nem de hook externo — portável no copy-in).\r\n *\r\n * Monte UMA vez no root da app (`<Toaster />`) e dispare com\r\n * `toast.success(\"...\")` / `toast.error(...)` etc. do pacote `sonner`.\r\n */\r\nconst Toaster = ({ ...props }: ToasterProps) => {\r\n const [isDark, setIsDark] = React.useState(\r\n () =>\r\n typeof document !== \"undefined\" &&\r\n document.documentElement.classList.contains(\"dark\"),\r\n );\r\n\r\n React.useEffect(() => {\r\n const root = document.documentElement;\r\n const sync = () => setIsDark(root.classList.contains(\"dark\"));\r\n sync();\r\n const observer = new MutationObserver(sync);\r\n observer.observe(root, { attributes: true, attributeFilter: [\"class\"] });\r\n return () => observer.disconnect();\r\n }, []);\r\n\r\n return (\r\n <Sonner\r\n theme={isDark ? \"dark\" : \"light\"}\r\n className=\"toaster group\"\r\n icons={{\r\n success: <CircleCheck className=\"size-icon-sm\" />,\r\n info: <Info className=\"size-icon-sm\" />,\r\n warning: <TriangleAlert className=\"size-icon-sm\" />,\r\n error: <OctagonX className=\"size-icon-sm\" />,\r\n loading: <LoaderCircle className=\"size-icon-sm animate-spin\" />,\r\n }}\r\n toastOptions={{\r\n classNames: {\r\n toast:\r\n \"group toast group-[.toaster]:bg-bg-surface group-[.toaster]:text-fg-default group-[.toaster]:border-border-default group-[.toaster]:shadow-sh-lg\",\r\n description: \"group-[.toast]:text-fg-muted\",\r\n actionButton:\r\n \"group-[.toast]:bg-bg-brand group-[.toast]:text-fg-on-brand\",\r\n cancelButton:\r\n \"group-[.toast]:bg-bg-muted group-[.toast]:text-fg-muted\",\r\n },\r\n }}\r\n {...props}\r\n />\r\n );\r\n};\r\n\r\nexport { Toaster };\r\n"],"names":["AspectRatioPrimitive","jsx","cn","React","Sonner","CircleCheck","Info","TriangleAlert","OctagonX","LoaderCircle"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAM,cAAcA,gCAAqB;ACMzC,SAAS,SAAS;AAAA,EAChB;AAAA,EACA,GAAG;AACL,GAAyC;AACvC,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,OAAAA,GAAG,+CAA+C,SAAS;AAAA,MACrE,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;ACGA,MAAM,UAAU,CAAC,EAAE,GAAG,YAA0B;AAC9C,QAAM,CAAC,QAAQ,SAAS,IAAIC,iBAAM;AAAA,IAChC,MACE,OAAO,aAAa,eACpB,SAAS,gBAAgB,UAAU,SAAS,MAAM;AAAA,EAAA;AAGtDA,mBAAM,UAAU,MAAM;AACpB,UAAM,OAAO,SAAS;AACtB,UAAM,OAAO,MAAM,UAAU,KAAK,UAAU,SAAS,MAAM,CAAC;AAC5D,SAAA;AACA,UAAM,WAAW,IAAI,iBAAiB,IAAI;AAC1C,aAAS,QAAQ,MAAM,EAAE,YAAY,MAAM,iBAAiB,CAAC,OAAO,GAAG;AACvE,WAAO,MAAM,SAAS,WAAA;AAAA,EACxB,GAAG,CAAA,CAAE;AAEL,SACEF,2BAAAA;AAAAA,IAACG,OAAAA;AAAAA,IAAA;AAAA,MACC,OAAO,SAAS,SAAS;AAAA,MACzB,WAAU;AAAA,MACV,OAAO;AAAA,QACL,SAASH,2BAAAA,IAACI,YAAAA,aAAA,EAAY,WAAU,eAAA,CAAe;AAAA,QAC/C,MAAMJ,2BAAAA,IAACK,YAAAA,MAAA,EAAK,WAAU,eAAA,CAAe;AAAA,QACrC,SAASL,2BAAAA,IAACM,YAAAA,eAAA,EAAc,WAAU,eAAA,CAAe;AAAA,QACjD,OAAON,2BAAAA,IAACO,YAAAA,UAAA,EAAS,WAAU,eAAA,CAAe;AAAA,QAC1C,SAASP,2BAAAA,IAACQ,YAAAA,cAAA,EAAa,WAAU,4BAAA,CAA4B;AAAA,MAAA;AAAA,MAE/D,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,OACE;AAAA,UACF,aAAa;AAAA,UACb,cACE;AAAA,UACF,cACE;AAAA,QAAA;AAAA,MACJ;AAAA,MAED,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"shadcn.cjs","sources":["../src/components/shadcn/aspect-ratio.tsx","../src/components/shadcn/sonner.tsx"],"sourcesContent":["import * as AspectRatioPrimitive from \"@radix-ui/react-aspect-ratio\"\r\n\r\nconst AspectRatio = AspectRatioPrimitive.Root\r\n\r\nexport { AspectRatio }\r\n","import * as React from \"react\";\r\nimport {\r\n CircleCheck,\r\n Info,\r\n LoaderCircle,\r\n OctagonX,\r\n TriangleAlert,\r\n} from \"lucide-react\";\r\nimport { Toaster as Sonner } from \"sonner\";\r\n\r\ntype ToasterProps = React.ComponentProps<typeof Sonner>;\r\n\r\n/**\r\n * Toaster (Sonner) — notificações/toasts. Tokenizado iGreen: surface +\r\n * border-default + shadow-lg, texto via tokens fg, ícones por status.\r\n * Self-contained: segue o tema observando a classe `.dark` no <html>\r\n * (não depende de next-themes nem de hook externo — portável no copy-in).\r\n *\r\n * Monte UMA vez no root da app (`<Toaster />`) e dispare com\r\n * `toast.success(\"...\")` / `toast.error(...)` etc. do pacote `sonner`.\r\n */\r\nconst Toaster = ({ ...props }: ToasterProps) => {\r\n const [isDark, setIsDark] = React.useState(\r\n () =>\r\n typeof document !== \"undefined\" &&\r\n document.documentElement.classList.contains(\"dark\"),\r\n );\r\n\r\n React.useEffect(() => {\r\n const root = document.documentElement;\r\n const sync = () => setIsDark(root.classList.contains(\"dark\"));\r\n sync();\r\n const observer = new MutationObserver(sync);\r\n observer.observe(root, { attributes: true, attributeFilter: [\"class\"] });\r\n return () => observer.disconnect();\r\n }, []);\r\n\r\n return (\r\n <Sonner\r\n theme={isDark ? \"dark\" : \"light\"}\r\n className=\"toaster group\"\r\n icons={{\r\n success: <CircleCheck className=\"size-icon-sm\" />,\r\n info: <Info className=\"size-icon-sm\" />,\r\n warning: <TriangleAlert className=\"size-icon-sm\" />,\r\n error: <OctagonX className=\"size-icon-sm\" />,\r\n loading: <LoaderCircle className=\"size-icon-sm animate-spin\" />,\r\n }}\r\n toastOptions={{\r\n classNames: {\r\n toast:\r\n \"group toast group-[.toaster]:bg-bg-surface group-[.toaster]:text-fg-default group-[.toaster]:border-border-default group-[.toaster]:shadow-sh-lg\",\r\n description: \"group-[.toast]:text-fg-muted\",\r\n actionButton:\r\n \"group-[.toast]:bg-bg-brand group-[.toast]:text-fg-on-brand\",\r\n cancelButton:\r\n \"group-[.toast]:bg-bg-muted group-[.toast]:text-fg-muted\",\r\n },\r\n }}\r\n {...props}\r\n />\r\n );\r\n};\r\n\r\nexport { Toaster };\r\n"],"names":["AspectRatioPrimitive","React","jsx","Sonner","CircleCheck","Info","TriangleAlert","OctagonX","LoaderCircle"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAM,cAAcA,gCAAqB;ACmBzC,MAAM,UAAU,CAAC,EAAE,GAAG,YAA0B;AAC9C,QAAM,CAAC,QAAQ,SAAS,IAAIC,iBAAM;AAAA,IAChC,MACE,OAAO,aAAa,eACpB,SAAS,gBAAgB,UAAU,SAAS,MAAM;AAAA,EAAA;AAGtDA,mBAAM,UAAU,MAAM;AACpB,UAAM,OAAO,SAAS;AACtB,UAAM,OAAO,MAAM,UAAU,KAAK,UAAU,SAAS,MAAM,CAAC;AAC5D,SAAA;AACA,UAAM,WAAW,IAAI,iBAAiB,IAAI;AAC1C,aAAS,QAAQ,MAAM,EAAE,YAAY,MAAM,iBAAiB,CAAC,OAAO,GAAG;AACvE,WAAO,MAAM,SAAS,WAAA;AAAA,EACxB,GAAG,CAAA,CAAE;AAEL,SACEC,2BAAAA;AAAAA,IAACC,OAAAA;AAAAA,IAAA;AAAA,MACC,OAAO,SAAS,SAAS;AAAA,MACzB,WAAU;AAAA,MACV,OAAO;AAAA,QACL,SAASD,2BAAAA,IAACE,YAAAA,aAAA,EAAY,WAAU,eAAA,CAAe;AAAA,QAC/C,MAAMF,2BAAAA,IAACG,YAAAA,MAAA,EAAK,WAAU,eAAA,CAAe;AAAA,QACrC,SAASH,2BAAAA,IAACI,YAAAA,eAAA,EAAc,WAAU,eAAA,CAAe;AAAA,QACjD,OAAOJ,2BAAAA,IAACK,YAAAA,UAAA,EAAS,WAAU,eAAA,CAAe;AAAA,QAC1C,SAASL,2BAAAA,IAACM,YAAAA,cAAA,EAAa,WAAU,4BAAA,CAA4B;AAAA,MAAA;AAAA,MAE/D,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,OACE;AAAA,UACF,aAAa;AAAA,UACb,cACE;AAAA,UACF,cACE;AAAA,QAAA;AAAA,MACJ;AAAA,MAED,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,26 +1,13 @@
1
- import { A, a, b, c, d, e, f, B, g, h, i, j, k, l, m, C, n, o, p, q, r, s, t, u, v, w, x, y, z, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, _, $, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aa, ab, ac, ad, ae, af, ag, ah, ai, aj, ak, al, am, an, ao, ap, aq, ar, as, at, au, av, aw, ax, ay, az, aA, aB, aC, aD, aE, aF, aG, aH, aI, aJ, aK } from "./chunks/toggle-group-DPzjrk6O.mjs";
2
- import { A as A2, a as a10, b as b2, c as c2, d as d2, e as e2, f as f2, g as g2, h as h2, i as i2, j as j2, C as C2, k as k2, l as l2, P as P2, m as m2, n as n2, o as o2, p as p2, q as q2, r as r2, s as s2, t as t2, S as S2, u as u2, v as v2, w as w2, x as x2, y as y2, z as z2, B as B2, D as D2, E as E2, F as F2, G as G2, H as H2, I as I2, J as J2, K as K2, L as L2, M as M2, N as N2, O as O2, Q as Q2, T as T2, R as R2, U as U2, V as V2, W as W2 } from "./chunks/sheet-D1vQth7X.mjs";
1
+ import { A, a, b, c, d, e, f, B, g, h, i, j, k, l, m, C, n, o, p, q, r, s, t, u, v, w, x, y, z, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, _, $, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aa, ab, ac, ad, ae, af, ag, ah, ai, aj, ak, al, am, an, ao, ap, aq, ar, as, at, au, av, aw, ax, ay, az, aA, aB, aC, aD, aE, aF, aG, aH, aI, aJ, aK, aL } from "./chunks/toggle-group-CnAN6ZnT.mjs";
2
+ import { A as A2, a as a10, b as b2, c as c2, d as d2, e as e2, f as f2, g as g2, h as h2, i as i2, j as j2, C as C2, k as k2, l as l2, P as P2, m as m2, n as n2, o as o2, p as p2, q as q2, r as r2, s as s2, t as t2, S as S2, u as u2, v as v2, w as w2, x as x2, y as y2, z as z2, B as B2, D as D2, E as E2, F as F2, G as G2, H as H2, I as I2, J as J2, K as K2, L as L2, M as M2, N as N2, O as O2, Q as Q2, T as T2, R as R2, U as U2, V as V2, W as W2 } from "./chunks/sheet-7v5vamnP.mjs";
3
3
  import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
4
- import { c as cn } from "./chunks/avatar-DFWEwBKu.mjs";
5
- import { A as A3, a as a11, b as b3, C as C3, d as d3, e as e3, f as f3, g as g3, h as h3, i as i3, j as j3, k as k3, l as l3, m as m3, n as n3, D as D3, o as o3, p as p3, q as q3, r as r3, s as s3, u as u3, v as v3, w as w3, x as x3, y as y3, z as z3, E as E3, F as F3, G as G3, H as H3, I as I3, J as J3, K as K3, L as L3, M as M3, N as N3, O as O3, P as P3, Q as Q3, R as R3, S as S3, T as T3, U as U3, V as V3, W as W3, X as X2, Y as Y2, Z as Z2, _ as _2, $ as $2, a0 as a02, a1 as a12, a2 as a22, a3 as a32, a4 as a42, a5 as a52, a6 as a62, a7 as a72, a8 as a82 } from "./chunks/avatar-DFWEwBKu.mjs";
6
- import { I as I4, i as i4 } from "./chunks/input-CfmzMYtd.mjs";
4
+ import { A as A3, a as a11, b as b3, C as C3, d as d3, e as e3, f as f3, g as g3, h as h3, i as i3, j as j3, k as k3, l as l3, m as m3, n as n3, D as D3, o as o3, p as p3, q as q3, r as r3, s as s3, t as t3, u as u3, v as v3, w as w3, x as x3, y as y3, z as z3, B as B3, E as E3, F as F3, G as G3, H as H3, I as I3, J as J3, K as K3, L as L3, M as M3, N as N3, O as O3, P as P3, Q as Q3, R as R3, S as S3, T as T3, U as U3, V as V3, W as W3, X as X2, Y as Y2, Z as Z2, _ as _2, $ as $2, a0 as a02, a1 as a12, a2 as a22, a3 as a32, a4 as a42, a5 as a52, a6 as a62 } from "./chunks/avatar-FPbG1TRy.mjs";
5
+ import { I as I4, i as i4 } from "./chunks/input-tjIT8HNE.mjs";
7
6
  import { jsx } from "react/jsx-runtime";
8
7
  import * as React from "react";
9
8
  import { LoaderCircle, OctagonX, TriangleAlert, Info, CircleCheck } from "lucide-react";
10
9
  import { Toaster as Toaster$1 } from "sonner";
11
10
  const AspectRatio = AspectRatioPrimitive.Root;
12
- function Skeleton({
13
- className,
14
- ...props
15
- }) {
16
- return /* @__PURE__ */ jsx(
17
- "div",
18
- {
19
- className: cn("animate-pulse rounded-radius-md bg-bg-muted", className),
20
- ...props
21
- }
22
- );
23
- }
24
11
  const Toaster = ({ ...props }) => {
25
12
  const [isDark, setIsDark] = React.useState(
26
13
  () => typeof document !== "undefined" && document.documentElement.classList.contains("dark")
@@ -135,10 +122,10 @@ export {
135
122
  q3 as DialogDescription,
136
123
  r3 as DialogFooter,
137
124
  s3 as DialogHeader,
138
- u3 as DialogOverlay,
139
- v3 as DialogPortal,
140
- w3 as DialogTitle,
141
- x3 as DialogTrigger,
125
+ t3 as DialogOverlay,
126
+ u3 as DialogPortal,
127
+ v3 as DialogTitle,
128
+ w3 as DialogTrigger,
142
129
  P as Drawer,
143
130
  Q as DrawerClose,
144
131
  R as DrawerContent,
@@ -149,31 +136,31 @@ export {
149
136
  W as DrawerPortal,
150
137
  X as DrawerTitle,
151
138
  Y as DrawerTrigger,
152
- y3 as DropdownMenu,
153
- z3 as DropdownMenuCheckboxItem,
154
- E3 as DropdownMenuContent,
155
- F3 as DropdownMenuGroup,
156
- G3 as DropdownMenuItem,
157
- H3 as DropdownMenuLabel,
158
- I3 as DropdownMenuPortal,
159
- J3 as DropdownMenuRadioGroup,
160
- K3 as DropdownMenuRadioItem,
161
- L3 as DropdownMenuSeparator,
162
- M3 as DropdownMenuShortcut,
163
- N3 as DropdownMenuSub,
164
- O3 as DropdownMenuSubContent,
165
- P3 as DropdownMenuSubTrigger,
166
- Q3 as DropdownMenuTrigger,
139
+ x3 as DropdownMenu,
140
+ y3 as DropdownMenuCheckboxItem,
141
+ z3 as DropdownMenuContent,
142
+ B3 as DropdownMenuGroup,
143
+ E3 as DropdownMenuItem,
144
+ F3 as DropdownMenuLabel,
145
+ G3 as DropdownMenuPortal,
146
+ H3 as DropdownMenuRadioGroup,
147
+ I3 as DropdownMenuRadioItem,
148
+ J3 as DropdownMenuSeparator,
149
+ K3 as DropdownMenuShortcut,
150
+ L3 as DropdownMenuSub,
151
+ M3 as DropdownMenuSubContent,
152
+ N3 as DropdownMenuSubTrigger,
153
+ O3 as DropdownMenuTrigger,
167
154
  Z as HoverCard,
168
155
  _ as HoverCardContent,
169
156
  $ as HoverCardTrigger,
170
157
  I4 as Input,
171
- R3 as InputGroup,
172
- S3 as InputGroupAddon,
173
- T3 as InputGroupButton,
174
- U3 as InputGroupInput,
175
- V3 as InputGroupText,
176
- W3 as InputGroupTextarea,
158
+ P3 as InputGroup,
159
+ Q3 as InputGroupAddon,
160
+ R3 as InputGroupButton,
161
+ S3 as InputGroupInput,
162
+ T3 as InputGroupText,
163
+ U3 as InputGroupTextarea,
177
164
  a0 as InputOTP,
178
165
  a1 as InputOTPGroup,
179
166
  a2 as InputOTPSeparator,
@@ -212,11 +199,11 @@ export {
212
199
  r2 as PaginationLink,
213
200
  s2 as PaginationNext,
214
201
  t2 as PaginationPrevious,
215
- X2 as Popover,
216
- Y2 as PopoverAnchor,
217
- Z2 as PopoverClose,
218
- _2 as PopoverContent,
219
- $2 as PopoverTrigger,
202
+ V3 as Popover,
203
+ W3 as PopoverAnchor,
204
+ X2 as PopoverClose,
205
+ Y2 as PopoverContent,
206
+ Z2 as PopoverTrigger,
220
207
  at as Progress,
221
208
  au as RadioGroup,
222
209
  av as RadioGroupItem,
@@ -243,35 +230,35 @@ export {
243
230
  M2 as SheetPortal,
244
231
  N2 as SheetTitle,
245
232
  O2 as SheetTrigger,
246
- Skeleton,
247
- az as Slider,
233
+ az as Skeleton,
234
+ aA as Slider,
248
235
  Q2 as Switch,
249
- aA as Tabs,
250
- aB as TabsContent,
251
- aC as TabsList,
252
- aD as TabsTrigger,
236
+ aB as Tabs,
237
+ aC as TabsContent,
238
+ aD as TabsList,
239
+ aE as TabsTrigger,
253
240
  T2 as Textarea,
254
241
  Toaster,
255
- aE as Toggle,
256
- aF as ToggleGroup,
257
- aG as ToggleGroupItem,
258
- a02 as Tooltip,
259
- a12 as TooltipContent,
260
- a22 as TooltipProvider,
261
- a32 as TooltipTrigger,
262
- aH as badgeVariants,
242
+ aF as Toggle,
243
+ aG as ToggleGroup,
244
+ aH as ToggleGroupItem,
245
+ _2 as Tooltip,
246
+ $2 as TooltipContent,
247
+ a02 as TooltipProvider,
248
+ a12 as TooltipTrigger,
249
+ aI as badgeVariants,
263
250
  R2 as getPaginationRange,
264
- a42 as inputGroupAddonVariants,
265
- a52 as inputGroupButtonVariants,
266
- a62 as inputGroupInputVariants,
267
- a72 as inputGroupTextareaVariants,
268
- a82 as inputGroupVariants,
251
+ a22 as inputGroupAddonVariants,
252
+ a32 as inputGroupButtonVariants,
253
+ a42 as inputGroupInputVariants,
254
+ a52 as inputGroupTextareaVariants,
255
+ a62 as inputGroupVariants,
269
256
  i4 as inputVariants,
270
- aI as navigationMenuTriggerStyle,
257
+ aJ as navigationMenuTriggerStyle,
271
258
  U2 as paginationLinkVariants,
272
259
  V2 as paginationNavVariants,
273
- aJ as slotVariants,
260
+ aK as slotVariants,
274
261
  W2 as textareaVariants,
275
- aK as toggleVariants
262
+ aL as toggleVariants
276
263
  };
277
264
  //# sourceMappingURL=shadcn.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"shadcn.mjs","sources":["../src/components/shadcn/aspect-ratio.tsx","../src/components/shadcn/skeleton.tsx","../src/components/shadcn/sonner.tsx"],"sourcesContent":["import * as AspectRatioPrimitive from \"@radix-ui/react-aspect-ratio\"\r\n\r\nconst AspectRatio = AspectRatioPrimitive.Root\r\n\r\nexport { AspectRatio }\r\n","import * as React from \"react\";\r\nimport { cn } from \"@/lib/utils\";\r\n\r\n/**\r\n * Skeleton — placeholder de carregamento (pulse). Tokenizado iGreen:\r\n * `bg-bg-muted` + `rounded-radius-md`. Componha vários pra desenhar a\r\n * silhueta do conteúdo (linha de texto, avatar, card) enquanto carrega.\r\n */\r\nfunction Skeleton({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) {\r\n return (\r\n <div\r\n className={cn(\"animate-pulse rounded-radius-md bg-bg-muted\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport { Skeleton };\r\n","import * as React from \"react\";\r\nimport {\r\n CircleCheck,\r\n Info,\r\n LoaderCircle,\r\n OctagonX,\r\n TriangleAlert,\r\n} from \"lucide-react\";\r\nimport { Toaster as Sonner } from \"sonner\";\r\n\r\ntype ToasterProps = React.ComponentProps<typeof Sonner>;\r\n\r\n/**\r\n * Toaster (Sonner) — notificações/toasts. Tokenizado iGreen: surface +\r\n * border-default + shadow-lg, texto via tokens fg, ícones por status.\r\n * Self-contained: segue o tema observando a classe `.dark` no <html>\r\n * (não depende de next-themes nem de hook externo — portável no copy-in).\r\n *\r\n * Monte UMA vez no root da app (`<Toaster />`) e dispare com\r\n * `toast.success(\"...\")` / `toast.error(...)` etc. do pacote `sonner`.\r\n */\r\nconst Toaster = ({ ...props }: ToasterProps) => {\r\n const [isDark, setIsDark] = React.useState(\r\n () =>\r\n typeof document !== \"undefined\" &&\r\n document.documentElement.classList.contains(\"dark\"),\r\n );\r\n\r\n React.useEffect(() => {\r\n const root = document.documentElement;\r\n const sync = () => setIsDark(root.classList.contains(\"dark\"));\r\n sync();\r\n const observer = new MutationObserver(sync);\r\n observer.observe(root, { attributes: true, attributeFilter: [\"class\"] });\r\n return () => observer.disconnect();\r\n }, []);\r\n\r\n return (\r\n <Sonner\r\n theme={isDark ? \"dark\" : \"light\"}\r\n className=\"toaster group\"\r\n icons={{\r\n success: <CircleCheck className=\"size-icon-sm\" />,\r\n info: <Info className=\"size-icon-sm\" />,\r\n warning: <TriangleAlert className=\"size-icon-sm\" />,\r\n error: <OctagonX className=\"size-icon-sm\" />,\r\n loading: <LoaderCircle className=\"size-icon-sm animate-spin\" />,\r\n }}\r\n toastOptions={{\r\n classNames: {\r\n toast:\r\n \"group toast group-[.toaster]:bg-bg-surface group-[.toaster]:text-fg-default group-[.toaster]:border-border-default group-[.toaster]:shadow-sh-lg\",\r\n description: \"group-[.toast]:text-fg-muted\",\r\n actionButton:\r\n \"group-[.toast]:bg-bg-brand group-[.toast]:text-fg-on-brand\",\r\n cancelButton:\r\n \"group-[.toast]:bg-bg-muted group-[.toast]:text-fg-muted\",\r\n },\r\n }}\r\n {...props}\r\n />\r\n );\r\n};\r\n\r\nexport { Toaster };\r\n"],"names":["Sonner"],"mappings":";;;;;;;;;;AAEA,MAAM,cAAc,qBAAqB;ACMzC,SAAS,SAAS;AAAA,EAChB;AAAA,EACA,GAAG;AACL,GAAyC;AACvC,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,GAAG,+CAA+C,SAAS;AAAA,MACrE,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;ACGA,MAAM,UAAU,CAAC,EAAE,GAAG,YAA0B;AAC9C,QAAM,CAAC,QAAQ,SAAS,IAAI,MAAM;AAAA,IAChC,MACE,OAAO,aAAa,eACpB,SAAS,gBAAgB,UAAU,SAAS,MAAM;AAAA,EAAA;AAGtD,QAAM,UAAU,MAAM;AACpB,UAAM,OAAO,SAAS;AACtB,UAAM,OAAO,MAAM,UAAU,KAAK,UAAU,SAAS,MAAM,CAAC;AAC5D,SAAA;AACA,UAAM,WAAW,IAAI,iBAAiB,IAAI;AAC1C,aAAS,QAAQ,MAAM,EAAE,YAAY,MAAM,iBAAiB,CAAC,OAAO,GAAG;AACvE,WAAO,MAAM,SAAS,WAAA;AAAA,EACxB,GAAG,CAAA,CAAE;AAEL,SACE;AAAA,IAACA;AAAAA,IAAA;AAAA,MACC,OAAO,SAAS,SAAS;AAAA,MACzB,WAAU;AAAA,MACV,OAAO;AAAA,QACL,SAAS,oBAAC,aAAA,EAAY,WAAU,eAAA,CAAe;AAAA,QAC/C,MAAM,oBAAC,MAAA,EAAK,WAAU,eAAA,CAAe;AAAA,QACrC,SAAS,oBAAC,eAAA,EAAc,WAAU,eAAA,CAAe;AAAA,QACjD,OAAO,oBAAC,UAAA,EAAS,WAAU,eAAA,CAAe;AAAA,QAC1C,SAAS,oBAAC,cAAA,EAAa,WAAU,4BAAA,CAA4B;AAAA,MAAA;AAAA,MAE/D,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,OACE;AAAA,UACF,aAAa;AAAA,UACb,cACE;AAAA,UACF,cACE;AAAA,QAAA;AAAA,MACJ;AAAA,MAED,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;"}
1
+ {"version":3,"file":"shadcn.mjs","sources":["../src/components/shadcn/aspect-ratio.tsx","../src/components/shadcn/sonner.tsx"],"sourcesContent":["import * as AspectRatioPrimitive from \"@radix-ui/react-aspect-ratio\"\r\n\r\nconst AspectRatio = AspectRatioPrimitive.Root\r\n\r\nexport { AspectRatio }\r\n","import * as React from \"react\";\r\nimport {\r\n CircleCheck,\r\n Info,\r\n LoaderCircle,\r\n OctagonX,\r\n TriangleAlert,\r\n} from \"lucide-react\";\r\nimport { Toaster as Sonner } from \"sonner\";\r\n\r\ntype ToasterProps = React.ComponentProps<typeof Sonner>;\r\n\r\n/**\r\n * Toaster (Sonner) — notificações/toasts. Tokenizado iGreen: surface +\r\n * border-default + shadow-lg, texto via tokens fg, ícones por status.\r\n * Self-contained: segue o tema observando a classe `.dark` no <html>\r\n * (não depende de next-themes nem de hook externo — portável no copy-in).\r\n *\r\n * Monte UMA vez no root da app (`<Toaster />`) e dispare com\r\n * `toast.success(\"...\")` / `toast.error(...)` etc. do pacote `sonner`.\r\n */\r\nconst Toaster = ({ ...props }: ToasterProps) => {\r\n const [isDark, setIsDark] = React.useState(\r\n () =>\r\n typeof document !== \"undefined\" &&\r\n document.documentElement.classList.contains(\"dark\"),\r\n );\r\n\r\n React.useEffect(() => {\r\n const root = document.documentElement;\r\n const sync = () => setIsDark(root.classList.contains(\"dark\"));\r\n sync();\r\n const observer = new MutationObserver(sync);\r\n observer.observe(root, { attributes: true, attributeFilter: [\"class\"] });\r\n return () => observer.disconnect();\r\n }, []);\r\n\r\n return (\r\n <Sonner\r\n theme={isDark ? \"dark\" : \"light\"}\r\n className=\"toaster group\"\r\n icons={{\r\n success: <CircleCheck className=\"size-icon-sm\" />,\r\n info: <Info className=\"size-icon-sm\" />,\r\n warning: <TriangleAlert className=\"size-icon-sm\" />,\r\n error: <OctagonX className=\"size-icon-sm\" />,\r\n loading: <LoaderCircle className=\"size-icon-sm animate-spin\" />,\r\n }}\r\n toastOptions={{\r\n classNames: {\r\n toast:\r\n \"group toast group-[.toaster]:bg-bg-surface group-[.toaster]:text-fg-default group-[.toaster]:border-border-default group-[.toaster]:shadow-sh-lg\",\r\n description: \"group-[.toast]:text-fg-muted\",\r\n actionButton:\r\n \"group-[.toast]:bg-bg-brand group-[.toast]:text-fg-on-brand\",\r\n cancelButton:\r\n \"group-[.toast]:bg-bg-muted group-[.toast]:text-fg-muted\",\r\n },\r\n }}\r\n {...props}\r\n />\r\n );\r\n};\r\n\r\nexport { Toaster };\r\n"],"names":["Sonner"],"mappings":";;;;;;;;;AAEA,MAAM,cAAc,qBAAqB;ACmBzC,MAAM,UAAU,CAAC,EAAE,GAAG,YAA0B;AAC9C,QAAM,CAAC,QAAQ,SAAS,IAAI,MAAM;AAAA,IAChC,MACE,OAAO,aAAa,eACpB,SAAS,gBAAgB,UAAU,SAAS,MAAM;AAAA,EAAA;AAGtD,QAAM,UAAU,MAAM;AACpB,UAAM,OAAO,SAAS;AACtB,UAAM,OAAO,MAAM,UAAU,KAAK,UAAU,SAAS,MAAM,CAAC;AAC5D,SAAA;AACA,UAAM,WAAW,IAAI,iBAAiB,IAAI;AAC1C,aAAS,QAAQ,MAAM,EAAE,YAAY,MAAM,iBAAiB,CAAC,OAAO,GAAG;AACvE,WAAO,MAAM,SAAS,WAAA;AAAA,EACxB,GAAG,CAAA,CAAE;AAEL,SACE;AAAA,IAACA;AAAAA,IAAA;AAAA,MACC,OAAO,SAAS,SAAS;AAAA,MACzB,WAAU;AAAA,MACV,OAAO;AAAA,QACL,SAAS,oBAAC,aAAA,EAAY,WAAU,eAAA,CAAe;AAAA,QAC/C,MAAM,oBAAC,MAAA,EAAK,WAAU,eAAA,CAAe;AAAA,QACrC,SAAS,oBAAC,eAAA,EAAc,WAAU,eAAA,CAAe;AAAA,QACjD,OAAO,oBAAC,UAAA,EAAS,WAAU,eAAA,CAAe;AAAA,QAC1C,SAAS,oBAAC,cAAA,EAAa,WAAU,4BAAA,CAA4B;AAAA,MAAA;AAAA,MAE/D,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,OACE;AAAA,UACF,aAAa;AAAA,UACb,cACE;AAAA,UACF,cACE;AAAA,QAAA;AAAA,MACJ;AAAA,MAED,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -39,6 +39,7 @@ export * from './ui/Modal';
39
39
  export * from './ui/MonthYearPicker';
40
40
  export * from './ui/PageHeader';
41
41
  export * from './ui/Panel';
42
+ export * from './ui/ScreenLoader';
42
43
  export * from './ui/SingleMenuSidebar';
43
44
  export * from './ui/Spinner';
44
45
  export * from './ui/Table';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../../src/components/shadcn/slider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAsBzD,QAAA,MAAM,MAAM,yJAyBV,CAAA;AAGF,OAAO,EAAE,MAAM,EAAE,CAAA"}
1
+ {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../../src/components/shadcn/slider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAyBzD,QAAA,MAAM,MAAM,yJAqCV,CAAA;AAGF,OAAO,EAAE,MAAM,EAAE,CAAA"}
@@ -20,8 +20,27 @@ import * as TooltipPrimitive from "@radix-ui/react-tooltip";
20
20
  declare const TooltipProvider: React.FC<TooltipPrimitive.TooltipProviderProps>;
21
21
  declare const TooltipTrigger: React.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React.RefAttributes<HTMLButtonElement>>;
22
22
  type TooltipProps = React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Root>;
23
+ /**
24
+ * Sem espera, por default.
25
+ *
26
+ * ⚠️ Até 2026-08-24 este componente **não passava `delayDuration`**, então valia o default do
27
+ * Radix — `DEFAULT_DELAY_DURATION = 700` (conferido no pacote instalado, não de memória).
28
+ * Três arquivos de doc afirmavam "delayDuration default = 200ms", incluindo o
29
+ * `shadcn-gotchas.md` que é distribuído: a afirmação nunca foi verdade pro Tooltip. O que
30
+ * tinha 200 de fato era o `HoverCard`, que passa `openDelay={200}` explícito.
31
+ *
32
+ * 700ms numa dica curta é tempo de a pessoa desistir e ir clicar pra descobrir. `0` deixa a
33
+ * dica instantânea, que é o comportamento esperado de tooltip de ícone.
34
+ *
35
+ * O `delayDuration` vai no Provider **e** no Root porque cada um governa uma coisa: o Provider
36
+ * define o padrão do grupo (e o `skipDelayDuration` entre triggers vizinhos), o Root vence pra
37
+ * esta tooltip. Continua sobrescritível — `<Tooltip delayDuration={400}>`.
38
+ *
39
+ * A animação de entrada não regride: com delay 0 o Radix emite `data-state="instant-open"` em
40
+ * vez de `delayed-open`, e as classes já cobrem os dois estados (ver `TooltipContent`).
41
+ */
23
42
  declare const Tooltip: {
24
- ({ children, ...props }: TooltipProps): import("react/jsx-runtime").JSX.Element;
43
+ ({ children, delayDuration, ...props }: TooltipProps): import("react/jsx-runtime").JSX.Element;
25
44
  displayName: string;
26
45
  };
27
46
  declare const TooltipContent: React.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../../src/components/shadcn/tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAI5D;;;;;;;;;;;;;;;;GAgBG;AAEH,QAAA,MAAM,eAAe,iDAA4B,CAAC;AAElD,QAAA,MAAM,cAAc,gHAA2B,CAAC;AAEhD,KAAK,YAAY,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAEjF,QAAA,MAAM,OAAO;6BAA4B,YAAY;;CAIpD,CAAC;AAUF,QAAA,MAAM,cAAc;IAJlB,8DAA8D;gBAClD,OAAO;wCAqCnB,CAAC;AAGH,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../../src/components/shadcn/tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAI5D;;;;;;;;;;;;;;;;GAgBG;AAEH,QAAA,MAAM,eAAe,iDAA4B,CAAC;AAElD,QAAA,MAAM,cAAc,gHAA2B,CAAC;AAEhD,KAAK,YAAY,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAEjF;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,OAAO;4CAA+C,YAAY;;CAMvE,CAAC;AAUF,QAAA,MAAM,cAAc;IAJlB,8DAA8D;gBAClD,OAAO;wCAqCnB,CAAC;AAGH,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-upload-field.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/FileUploadField/file-upload-field.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,2BAA2B,CAAC;AA8BnC;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,SAAS,EACT,OAAgB,EAChB,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,UAAU,EACV,OAAO,EACP,QAAQ,EACR,EAAE,EACF,SAAS,GACV,EAAE,oBAAoB,2CA2HtB"}
1
+ {"version":3,"file":"file-upload-field.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/FileUploadField/file-upload-field.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,2BAA2B,CAAC;AA8BnC;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,SAAS,EACT,OAAgB,EAChB,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,UAAU,EACV,OAAO,EACP,QAAQ,EACR,EAAE,EACF,SAAS,GACV,EAAE,oBAAoB,2CA6HtB"}
@@ -20,6 +20,15 @@ export declare const fileUploadFieldStyles: import('tailwind-variants').TVReturn
20
20
  }, {
21
21
  dropzone: string[];
22
22
  dropIcon: string;
23
+ /**
24
+ * Título e hint num bloco próprio, com gap de 2px.
25
+ *
26
+ * Antes os três (ícone, título, hint) eram irmãos sob o `gap-gp-xs` (4px) do dropzone —
27
+ * um gap só governando duas relações diferentes. Título↔hint são a MESMA informação em
28
+ * dois níveis e querem ficar juntos; o ícone é outro elemento e quer respiro. Agrupar é o
29
+ * que permite os dois valores.
30
+ */
31
+ dropTexts: string;
23
32
  dropText: string;
24
33
  dropHint: string;
25
34
  fileRow: string[];
@@ -37,6 +46,15 @@ export declare const fileUploadFieldStyles: import('tailwind-variants').TVReturn
37
46
  }, {
38
47
  dropzone: string[];
39
48
  dropIcon: string;
49
+ /**
50
+ * Título e hint num bloco próprio, com gap de 2px.
51
+ *
52
+ * Antes os três (ícone, título, hint) eram irmãos sob o `gap-gp-xs` (4px) do dropzone —
53
+ * um gap só governando duas relações diferentes. Título↔hint são a MESMA informação em
54
+ * dois níveis e querem ficar juntos; o ícone é outro elemento e quer respiro. Agrupar é o
55
+ * que permite os dois valores.
56
+ */
57
+ dropTexts: string;
40
58
  dropText: string;
41
59
  dropHint: string;
42
60
  fileRow: string[];
@@ -54,6 +72,15 @@ export declare const fileUploadFieldStyles: import('tailwind-variants').TVReturn
54
72
  }, {
55
73
  dropzone: string[];
56
74
  dropIcon: string;
75
+ /**
76
+ * Título e hint num bloco próprio, com gap de 2px.
77
+ *
78
+ * Antes os três (ícone, título, hint) eram irmãos sob o `gap-gp-xs` (4px) do dropzone —
79
+ * um gap só governando duas relações diferentes. Título↔hint são a MESMA informação em
80
+ * dois níveis e querem ficar juntos; o ícone é outro elemento e quer respiro. Agrupar é o
81
+ * que permite os dois valores.
82
+ */
83
+ dropTexts: string;
57
84
  dropText: string;
58
85
  dropHint: string;
59
86
  fileRow: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"file-upload-field.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/FileUploadField/file-upload-field.styles.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAsChC,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"file-upload-field.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/FileUploadField/file-upload-field.styles.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;IAgB9B;;;;;;;OAOG;;;;;;;;;;;;;;;;;;;IAPH;;;;;;;OAOG;;;;;;;;;;;;;;;;;;;IAPH;;;;;;;OAOG;;;;;;;;;2CA2BL,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { ScreenLoader } from './screen-loader';
2
+ export type { ScreenLoaderProps, ScreenLoaderSize, ScreenLoaderVariant, } from './screen-loader.types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/ScreenLoader/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { ScreenLoaderProps } from './screen-loader.types';
2
+ /**
3
+ * ScreenLoader — estado de carregamento de página/área. Coloque DENTRO do
4
+ * container que está carregando (slot de conteúdo do AppShell, card, section):
5
+ * ele preenche o pai e centraliza o indicador — nunca `position: fixed`.
6
+ *
7
+ * Duas variações:
8
+ * - `spinner` (default): Spinner centrado + título + descrição — primeira
9
+ * carga genérica, quando o layout final não é conhecido.
10
+ * - `skeleton`: silhueta genérica de página, deliberadamente sem prever o
11
+ * layout final. `skeletonLayout` escolhe os blocos: "page" (header +
12
+ * conteúdo, default), "dashboard" (header + linha de KPIs + conteúdo) e
13
+ * "kpis" (linha de KPIs + conteúdo, sem header). Layout conhecido →
14
+ * componha `Skeleton` na mão em vez desta variante.
15
+ *
16
+ * A11y: o root anuncia via `role="status"`; o Spinner interno vai `aria-hidden`
17
+ * (o título já anuncia — evita leitura duplicada) e a silhueta skeleton é
18
+ * decorativa (o título vira sr-only).
19
+ */
20
+ export declare const ScreenLoader: import('react').ForwardRefExoticComponent<ScreenLoaderProps & import('react').RefAttributes<HTMLDivElement>>;
21
+ //# sourceMappingURL=screen-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen-loader.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/ScreenLoader/screen-loader.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAS/D;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,YAAY,8GA2DxB,CAAC"}