@iclips/ui 2.0.2 → 3.0.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 (122) hide show
  1. package/MIGRATION-v3.md +244 -0
  2. package/README.md +1 -1
  3. package/dist/alert-theme.css +20 -79
  4. package/dist/components/ui/charts/donut-chart.cjs +1 -1
  5. package/dist/components/ui/charts/donut-chart.cjs.map +1 -1
  6. package/dist/components/ui/charts/donut-chart.js +39 -60
  7. package/dist/components/ui/charts/donut-chart.js.map +1 -1
  8. package/dist/components/ui/charts/kpi-card.cjs +1 -1
  9. package/dist/components/ui/charts/kpi-card.cjs.map +1 -1
  10. package/dist/components/ui/charts/kpi-card.js +19 -19
  11. package/dist/components/ui/charts/kpi-card.js.map +1 -1
  12. package/dist/components/ui/data/comment-system.cjs +1 -1
  13. package/dist/components/ui/data/comment-system.cjs.map +1 -1
  14. package/dist/components/ui/data/comment-system.js +67 -67
  15. package/dist/components/ui/data/comment-system.js.map +1 -1
  16. package/dist/components/ui/data/data-table.cjs +1 -1
  17. package/dist/components/ui/data/data-table.cjs.map +1 -1
  18. package/dist/components/ui/data/data-table.js +112 -101
  19. package/dist/components/ui/data/data-table.js.map +1 -1
  20. package/dist/components/ui/data/editorial-calendar.cjs +1 -1
  21. package/dist/components/ui/data/editorial-calendar.cjs.map +1 -1
  22. package/dist/components/ui/data/editorial-calendar.js +291 -291
  23. package/dist/components/ui/data/editorial-calendar.js.map +1 -1
  24. package/dist/components/ui/data/filter-builder.cjs +1 -1
  25. package/dist/components/ui/data/filter-builder.cjs.map +1 -1
  26. package/dist/components/ui/data/filter-builder.js +1 -1
  27. package/dist/components/ui/data/filter-builder.js.map +1 -1
  28. package/dist/components/ui/feedback/empty-state.cjs +1 -1
  29. package/dist/components/ui/feedback/empty-state.cjs.map +1 -1
  30. package/dist/components/ui/feedback/empty-state.js +14 -14
  31. package/dist/components/ui/feedback/empty-state.js.map +1 -1
  32. package/dist/components/ui/feedback/toast.cjs +1 -1
  33. package/dist/components/ui/feedback/toast.cjs.map +1 -1
  34. package/dist/components/ui/feedback/toast.js +53 -22
  35. package/dist/components/ui/feedback/toast.js.map +1 -1
  36. package/dist/components/ui/forms/calendar.cjs +1 -1
  37. package/dist/components/ui/forms/calendar.cjs.map +1 -1
  38. package/dist/components/ui/forms/calendar.js +16 -16
  39. package/dist/components/ui/forms/calendar.js.map +1 -1
  40. package/dist/components/ui/forms/combobox.cjs +1 -1
  41. package/dist/components/ui/forms/combobox.cjs.map +1 -1
  42. package/dist/components/ui/forms/combobox.js +78 -76
  43. package/dist/components/ui/forms/combobox.js.map +1 -1
  44. package/dist/components/ui/forms/file-attachment-list.cjs +1 -1
  45. package/dist/components/ui/forms/file-attachment-list.cjs.map +1 -1
  46. package/dist/components/ui/forms/file-attachment-list.js +4 -4
  47. package/dist/components/ui/forms/file-attachment-list.js.map +1 -1
  48. package/dist/components/ui/forms/file-upload-zone.cjs +2 -2
  49. package/dist/components/ui/forms/file-upload-zone.cjs.map +1 -1
  50. package/dist/components/ui/forms/file-upload-zone.js +55 -49
  51. package/dist/components/ui/forms/file-upload-zone.js.map +1 -1
  52. package/dist/components/ui/forms/form.cjs +1 -1
  53. package/dist/components/ui/forms/form.cjs.map +1 -1
  54. package/dist/components/ui/forms/form.js +11 -11
  55. package/dist/components/ui/forms/form.js.map +1 -1
  56. package/dist/components/ui/forms/input-validation.cjs +1 -1
  57. package/dist/components/ui/forms/input-validation.cjs.map +1 -1
  58. package/dist/components/ui/forms/input-validation.js +20 -20
  59. package/dist/components/ui/forms/input-validation.js.map +1 -1
  60. package/dist/components/ui/forms/multi-select.cjs +1 -1
  61. package/dist/components/ui/forms/multi-select.cjs.map +1 -1
  62. package/dist/components/ui/forms/multi-select.js +69 -67
  63. package/dist/components/ui/forms/multi-select.js.map +1 -1
  64. package/dist/components/ui/forms/radio-group.cjs +1 -1
  65. package/dist/components/ui/forms/radio-group.cjs.map +1 -1
  66. package/dist/components/ui/forms/radio-group.js +19 -19
  67. package/dist/components/ui/forms/radio-group.js.map +1 -1
  68. package/dist/components/ui/forms/social-button.cjs +1 -1
  69. package/dist/components/ui/forms/social-button.cjs.map +1 -1
  70. package/dist/components/ui/forms/social-button.js +6 -6
  71. package/dist/components/ui/forms/social-button.js.map +1 -1
  72. package/dist/components/ui/forms/toggle.cjs +1 -1
  73. package/dist/components/ui/forms/toggle.cjs.map +1 -1
  74. package/dist/components/ui/forms/toggle.js +7 -7
  75. package/dist/components/ui/forms/toggle.js.map +1 -1
  76. package/dist/components/ui/navigation/navigation-menu.cjs +1 -1
  77. package/dist/components/ui/navigation/navigation-menu.cjs.map +1 -1
  78. package/dist/components/ui/navigation/navigation-menu.js +14 -14
  79. package/dist/components/ui/navigation/navigation-menu.js.map +1 -1
  80. package/dist/components/ui/navigation/sidebar.cjs +1 -1
  81. package/dist/components/ui/navigation/sidebar.cjs.map +1 -1
  82. package/dist/components/ui/navigation/sidebar.js +44 -44
  83. package/dist/components/ui/navigation/sidebar.js.map +1 -1
  84. package/dist/components/ui/overlays/context-menu.cjs +1 -1
  85. package/dist/components/ui/overlays/context-menu.cjs.map +1 -1
  86. package/dist/components/ui/overlays/context-menu.js +1 -1
  87. package/dist/components/ui/overlays/context-menu.js.map +1 -1
  88. package/dist/components/ui/overlays/dropdown-menu.cjs +1 -1
  89. package/dist/components/ui/overlays/dropdown-menu.cjs.map +1 -1
  90. package/dist/components/ui/overlays/dropdown-menu.js +5 -5
  91. package/dist/components/ui/overlays/dropdown-menu.js.map +1 -1
  92. package/dist/components/ui/overlays/menubar.cjs +1 -1
  93. package/dist/components/ui/overlays/menubar.cjs.map +1 -1
  94. package/dist/components/ui/overlays/menubar.js +29 -29
  95. package/dist/components/ui/overlays/menubar.js.map +1 -1
  96. package/dist/components/ui/overlays/tooltip.cjs +1 -1
  97. package/dist/components/ui/overlays/tooltip.cjs.map +1 -1
  98. package/dist/components/ui/overlays/tooltip.js +12 -12
  99. package/dist/components/ui/overlays/tooltip.js.map +1 -1
  100. package/dist/components/ui/primitives/avatar.cjs +1 -1
  101. package/dist/components/ui/primitives/avatar.cjs.map +1 -1
  102. package/dist/components/ui/primitives/avatar.js +20 -27
  103. package/dist/components/ui/primitives/avatar.js.map +1 -1
  104. package/dist/components/ui/primitives/badge.cjs +1 -1
  105. package/dist/components/ui/primitives/badge.cjs.map +1 -1
  106. package/dist/components/ui/primitives/badge.js +13 -13
  107. package/dist/components/ui/primitives/badge.js.map +1 -1
  108. package/dist/components/ui/primitives/button.cjs +1 -1
  109. package/dist/components/ui/primitives/button.cjs.map +1 -1
  110. package/dist/components/ui/primitives/button.js +11 -8
  111. package/dist/components/ui/primitives/button.js.map +1 -1
  112. package/dist/index.cjs +1 -1
  113. package/dist/index.css +1 -1
  114. package/dist/index.d.cts +3 -3
  115. package/dist/index.d.ts +3 -3
  116. package/dist/index.js +34 -35
  117. package/dist/index.js.map +1 -1
  118. package/dist/preset.css +1 -2
  119. package/dist/toast-theme.css +100 -64
  120. package/dist/tokens.css +59 -159
  121. package/package.json +5 -3
  122. package/scripts/check-colors.mjs +208 -0
@@ -1,15 +1,15 @@
1
1
  import { jsx as e, jsxs as i } from "react/jsx-runtime";
2
- import { useState as N, useMemo as Y } from "react";
3
- import { format as u, startOfMonth as oe, endOfMonth as ce, startOfWeek as U, endOfWeek as K, eachDayOfInterval as me, isToday as A, isSameDay as V, isSameMonth as he, setHours as ue, getHours as _, getMinutes as q, addMonths as pe, addDays as O, subMonths as fe, addHours as J, differenceInMinutes as ge } from "date-fns";
4
- import { PanelLeftOpen as xe, PanelLeftClose as be, Plus as z, ChevronLeft as ve, ChevronRight as we, Calendar as I, Youtube as Ne, Twitter as ye, Facebook as ke, Linkedin as De, Instagram as Ce, GripVertical as Te, Clock as Me } from "lucide-react";
5
- import { cn as f } from "../utils.js";
2
+ import { useState as N, useMemo as W } from "react";
3
+ import { format as h, startOfMonth as de, endOfMonth as ce, startOfWeek as F, endOfWeek as L, eachDayOfInterval as me, isToday as A, isSameDay as V, isSameMonth as ue, setHours as he, getHours as Y, getMinutes as q, addMonths as fe, addDays as O, subMonths as pe, addHours as J, differenceInMinutes as ge } from "date-fns";
4
+ import { PanelLeftOpen as be, PanelLeftClose as xe, Plus as z, ChevronLeft as ve, ChevronRight as we, Calendar as E, Youtube as Ne, Twitter as ye, Facebook as ke, Linkedin as De, Instagram as Ce, GripVertical as Te, Clock as Me } from "lucide-react";
5
+ import { cn as p } from "../utils.js";
6
6
  import { Button as w } from "../primitives/button.js";
7
- import { Avatar as L, AvatarImage as B, AvatarFallback as G } from "../primitives/avatar.js";
7
+ import { Avatar as U, AvatarImage as K, AvatarFallback as B } from "../primitives/avatar.js";
8
8
  import { Badge as S } from "../primitives/badge.js";
9
9
  import { Dialog as Oe, DialogContent as Se, DialogHeader as Ae, DialogTitle as ze, DialogDescription as He, DialogFooter as je } from "../overlays/dialog.js";
10
- import { ToggleGroup as Ee, ToggleGroupItem as E } from "../forms/toggle-group.js";
11
- import { ScrollArea as Ie } from "../layout/scroll-area.js";
12
- import { DndProvider as Q, useDrag as Pe, useDrop as $ } from "react-dnd";
10
+ import { ToggleGroup as Ie, ToggleGroupItem as I } from "../forms/toggle-group.js";
11
+ import { ScrollArea as Ee } from "../layout/scroll-area.js";
12
+ import { DndProvider as Q, useDrag as Pe, useDrop as _ } from "react-dnd";
13
13
  import { HTML5Backend as X } from "react-dnd-html5-backend";
14
14
  const C = {
15
15
  TASK: "task"
@@ -19,176 +19,176 @@ const C = {
19
19
  facebook: ke,
20
20
  twitter: ye,
21
21
  youtube: Ne,
22
- blog: I,
23
- other: I
22
+ blog: E,
23
+ other: E
24
24
  }, P = {
25
25
  idea: "bg-muted text-muted-foreground border-border",
26
26
  planned: "bg-info/10 text-info-emphasis border-info/20",
27
27
  "in-progress": "bg-warning/10 text-warning-emphasis border-warning/20",
28
- approval: "bg-accent text-accent-foreground border-border",
28
+ approval: "bg-secondary text-secondary-foreground border-border",
29
29
  scheduled: "bg-success/10 text-success-emphasis border-success/20",
30
30
  published: "bg-foreground text-background border-foreground"
31
- }, R = [
32
- "bg-chart-2/15 border-chart-2/30 text-chart-2",
33
- "bg-chart-3/15 border-chart-3/30 text-chart-3",
34
- "bg-chart-1/15 border-chart-1/30 text-chart-1",
35
- "bg-chart-4/15 border-chart-4/30 text-chart-4",
36
- "bg-chart-5/15 border-chart-5/30 text-chart-5",
37
- "bg-chart-8/15 border-chart-8/30 text-chart-8"
38
- ], W = (r) => {
39
- const t = r.split("").reduce((s, d) => s + d.charCodeAt(0), 0);
40
- return R[t % R.length];
31
+ }, G = [
32
+ "bg-chart-2/15 border-chart-2/30 text-[color-mix(in_oklab,var(--chart-2)_45%,var(--foreground))]",
33
+ "bg-chart-3/15 border-chart-3/30 text-[color-mix(in_oklab,var(--chart-3)_45%,var(--foreground))]",
34
+ "bg-chart-1/15 border-chart-1/30 text-[color-mix(in_oklab,var(--chart-1)_45%,var(--foreground))]",
35
+ "bg-chart-4/15 border-chart-4/30 text-[color-mix(in_oklab,var(--chart-4)_45%,var(--foreground))]",
36
+ "bg-chart-5/15 border-chart-5/30 text-[color-mix(in_oklab,var(--chart-5)_45%,var(--foreground))]",
37
+ "bg-chart-8/15 border-chart-8/30 text-[color-mix(in_oklab,var(--chart-8)_45%,var(--foreground))]"
38
+ ], R = (t) => {
39
+ const r = t.split("").reduce((s, o) => s + o.charCodeAt(0), 0);
40
+ return G[r % G.length];
41
41
  };
42
42
  function H({
43
- task: r,
44
- view: t = "month",
43
+ task: t,
44
+ view: r = "month",
45
45
  mode: s = "editorial",
46
- onClick: d,
46
+ onClick: o,
47
47
  style: c
48
48
  }) {
49
49
  var y;
50
50
  const [{ isDragging: a }, l] = Pe(() => ({
51
51
  type: C.TASK,
52
- item: { id: r.id, type: C.TASK },
53
- collect: (x) => ({
54
- isDragging: !!x.isDragging()
52
+ item: { id: t.id, type: C.TASK },
53
+ collect: (b) => ({
54
+ isDragging: !!b.isDragging()
55
55
  })
56
- }), [r.id]), m = r.channel ? Z[r.channel] : I, n = r.date ? new Date(r.date) : null, o = r.endDate ? new Date(r.endDate) : n ? J(n, 1) : null, h = n ? u(n, "HH:mm") : null, g = n && o ? `${u(n, "HH:mm")} - ${u(o, "HH:mm")}` : h;
57
- return s === "editorial" && (t === "week" || t === "day") ? /* @__PURE__ */ i(
56
+ }), [t.id]), m = t.channel ? Z[t.channel] : E, n = t.date ? new Date(t.date) : null, d = t.endDate ? new Date(t.endDate) : n ? J(n, 1) : null, u = n ? h(n, "HH:mm") : null, g = n && d ? `${h(n, "HH:mm")} - ${h(d, "HH:mm")}` : u;
57
+ return s === "editorial" && (r === "week" || r === "day") ? /* @__PURE__ */ i(
58
58
  "div",
59
59
  {
60
60
  ref: l,
61
- onClick: d,
62
- className: f(
61
+ onClick: o,
62
+ className: p(
63
63
  "relative group cursor-pointer bg-card border rounded-md shadow-sm hover:shadow-md transition-all mb-3 overflow-hidden",
64
64
  a ? "opacity-50" : "opacity-100",
65
- r.status === "published" ? "border-l-2 border-l-foreground" : "border-l-2 border-l-primary"
65
+ t.status === "published" ? "border-l-2 border-l-foreground" : "border-l-2 border-l-primary"
66
66
  ),
67
67
  children: [
68
68
  /* @__PURE__ */ i("div", { className: "flex items-center justify-between px-3 py-2 border-b bg-muted/50", children: [
69
69
  /* @__PURE__ */ i("div", { className: "flex items-center gap-2", children: [
70
70
  /* @__PURE__ */ e(m, { size: 14, className: "text-muted-foreground" }),
71
- h && /* @__PURE__ */ e("span", { className: "text-xs font-medium text-muted-foreground", children: h })
71
+ u && /* @__PURE__ */ e("span", { className: "text-xs font-medium text-muted-foreground", children: u })
72
72
  ] }),
73
73
  /* @__PURE__ */ e("div", { className: "opacity-0 group-hover:opacity-100 text-muted-foreground cursor-grab", children: /* @__PURE__ */ e(Te, { size: 14 }) })
74
74
  ] }),
75
- r.imageUrl && /* @__PURE__ */ e("div", { className: "w-full aspect-video bg-muted relative border-b", children: /* @__PURE__ */ e("img", { src: r.imageUrl, alt: "", className: "w-full h-full object-cover" }) }),
75
+ t.imageUrl && /* @__PURE__ */ e("div", { className: "w-full aspect-video bg-muted relative border-b", children: /* @__PURE__ */ e("img", { src: t.imageUrl, alt: "", className: "w-full h-full object-cover" }) }),
76
76
  /* @__PURE__ */ i("div", { className: "p-3", children: [
77
- /* @__PURE__ */ e("h4", { className: "text-sm font-medium text-foreground line-clamp-2 mb-2 leading-snug", children: r.title }),
77
+ /* @__PURE__ */ e("h4", { className: "text-sm font-medium text-foreground line-clamp-2 mb-2 leading-snug", children: t.title }),
78
78
  /* @__PURE__ */ i("div", { className: "flex items-center justify-between", children: [
79
- /* @__PURE__ */ e(S, { variant: "outline", className: f("px-1.5 py-0 text-[10px] h-5 font-normal uppercase tracking-wide", P[r.status]), children: r.status }),
80
- r.assignees && r.assignees.length > 0 && /* @__PURE__ */ e("div", { className: "flex -space-x-2", children: r.assignees.slice(0, 2).map((x, v) => /* @__PURE__ */ i(L, { className: "w-5 h-5 border border-background", children: [
81
- /* @__PURE__ */ e(B, { src: x.avatar }),
82
- /* @__PURE__ */ e(G, { className: "text-[8px]", children: x.name[0] })
79
+ /* @__PURE__ */ e(S, { variant: "outline", className: p("px-1.5 py-0 text-[10px] h-5 font-normal uppercase tracking-wide", P[t.status]), children: t.status }),
80
+ t.assignees && t.assignees.length > 0 && /* @__PURE__ */ e("div", { className: "flex -space-x-2", children: t.assignees.slice(0, 2).map((b, v) => /* @__PURE__ */ i(U, { className: "w-5 h-5 border border-background", children: [
81
+ /* @__PURE__ */ e(K, { src: b.avatar }),
82
+ /* @__PURE__ */ e(B, { className: "text-[8px]", children: b.name[0] })
83
83
  ] }, v)) })
84
84
  ] })
85
85
  ] })
86
86
  ]
87
87
  }
88
- ) : s === "editorial" && t === "month" ? /* @__PURE__ */ i(
88
+ ) : s === "editorial" && r === "month" ? /* @__PURE__ */ i(
89
89
  "div",
90
90
  {
91
91
  ref: l,
92
- onClick: d,
93
- className: f(
92
+ onClick: o,
93
+ className: p(
94
94
  "relative group cursor-pointer bg-card border rounded-md shadow-sm hover:shadow-md transition-all mb-1 overflow-hidden flex items-center gap-2 p-1.5",
95
95
  a ? "opacity-50" : "opacity-100",
96
- r.status === "published" ? "border-l-2 border-l-foreground" : "border-l-2 border-l-primary"
96
+ t.status === "published" ? "border-l-2 border-l-foreground" : "border-l-2 border-l-primary"
97
97
  ),
98
98
  children: [
99
- r.imageUrl && /* @__PURE__ */ e("div", { className: "w-8 h-8 flex-shrink-0 bg-muted rounded overflow-hidden", children: /* @__PURE__ */ e("img", { src: r.imageUrl, alt: "", className: "w-full h-full object-cover" }) }),
99
+ t.imageUrl && /* @__PURE__ */ e("div", { className: "w-8 h-8 flex-shrink-0 bg-muted rounded overflow-hidden", children: /* @__PURE__ */ e("img", { src: t.imageUrl, alt: "", className: "w-full h-full object-cover" }) }),
100
100
  /* @__PURE__ */ e("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ i("div", { className: "flex items-center gap-1.5", children: [
101
101
  /* @__PURE__ */ e(m, { size: 12, className: "text-muted-foreground" }),
102
- /* @__PURE__ */ e("span", { className: "truncate font-medium text-xs", children: r.title })
102
+ /* @__PURE__ */ e("span", { className: "truncate font-medium text-xs", children: t.title })
103
103
  ] }) })
104
104
  ]
105
105
  }
106
- ) : s === "execution" && (t === "week" || t === "day") ? /* @__PURE__ */ i(
106
+ ) : s === "execution" && (r === "week" || r === "day") ? /* @__PURE__ */ i(
107
107
  "div",
108
108
  {
109
109
  ref: l,
110
- onClick: d,
110
+ onClick: o,
111
111
  style: c,
112
- className: f(
112
+ className: p(
113
113
  "absolute z-10 rounded-md border shadow-sm p-1.5 text-xs flex flex-col overflow-hidden hover:overflow-visible hover:h-auto! hover:min-h-[min-content] hover:z-50 transition-all cursor-pointer group",
114
114
  a ? "opacity-50" : "opacity-100",
115
- r.color || W(r.id)
115
+ t.color || R(t.id)
116
116
  ),
117
117
  children: [
118
- /* @__PURE__ */ i("div", { className: "flex items-center gap-1 mb-0.5 font-semibold opacity-75 text-[10px] leading-none", children: [
118
+ /* @__PURE__ */ i("div", { className: "flex items-center gap-1 mb-0.5 font-semibold text-[10px] leading-none", children: [
119
119
  /* @__PURE__ */ e(Me, { size: 10 }),
120
120
  /* @__PURE__ */ e("span", { className: "truncate", children: g })
121
121
  ] }),
122
- /* @__PURE__ */ e("div", { className: "font-bold leading-tight mb-1 line-clamp-2 text-[11px]", children: r.title }),
122
+ /* @__PURE__ */ e("div", { className: "font-bold leading-tight mb-1 line-clamp-2 text-[11px]", children: t.title }),
123
123
  /* @__PURE__ */ i("div", { className: "mt-auto flex items-center justify-between pt-1", children: [
124
- /* @__PURE__ */ e("div", { className: "flex -space-x-1.5", children: (y = r.assignees) == null ? void 0 : y.map((x, v) => /* @__PURE__ */ i(L, { className: "w-4 h-4 border border-background", children: [
125
- /* @__PURE__ */ e(B, { src: x.avatar }),
126
- /* @__PURE__ */ e(G, { className: "text-[8px]", children: x.name[0] })
124
+ /* @__PURE__ */ e("div", { className: "flex -space-x-1.5", children: (y = t.assignees) == null ? void 0 : y.map((b, v) => /* @__PURE__ */ i(U, { className: "w-4 h-4 border border-background", children: [
125
+ /* @__PURE__ */ e(K, { src: b.avatar }),
126
+ /* @__PURE__ */ e(B, { className: "text-[8px]", children: b.name[0] })
127
127
  ] }, v)) }),
128
- r.status !== "published" && /* @__PURE__ */ e("div", { className: f("w-2 h-2 rounded-full", P[r.status].split(" ")[1].replace("text-", "bg-")) })
128
+ t.status !== "published" && /* @__PURE__ */ e("div", { className: p("w-2 h-2 rounded-full", P[t.status].split(" ")[1].replace("text-", "bg-")) })
129
129
  ] })
130
130
  ]
131
131
  }
132
- ) : s === "execution" && t === "month" ? /* @__PURE__ */ i(
132
+ ) : s === "execution" && r === "month" ? /* @__PURE__ */ i(
133
133
  "div",
134
134
  {
135
135
  ref: l,
136
- onClick: d,
137
- className: f(
136
+ onClick: o,
137
+ className: p(
138
138
  "relative group cursor-pointer rounded px-2 py-1 mb-1 text-xs truncate font-medium transition-all",
139
139
  a ? "opacity-50" : "opacity-100",
140
- r.color || W(r.id).replace("bg-", "bg-opacity-20 bg-")
140
+ t.color || R(t.id).replace("bg-", "bg-opacity-20 bg-")
141
141
  // lighter background
142
142
  ),
143
143
  children: [
144
- h,
144
+ u,
145
145
  " ",
146
- r.title
146
+ t.title
147
147
  ]
148
148
  }
149
149
  ) : /* @__PURE__ */ i(
150
150
  "div",
151
151
  {
152
152
  ref: l,
153
- onClick: d,
154
- className: f(
153
+ onClick: o,
154
+ className: p(
155
155
  "relative group cursor-pointer bg-card border rounded-md shadow-sm hover:shadow-md transition-all mb-2 p-2 flex items-start gap-3",
156
156
  a ? "opacity-50" : "opacity-100",
157
- s === "editorial" && (r.status === "published" ? "border-l-2 border-l-foreground" : "border-l-2 border-l-primary")
157
+ s === "editorial" && (t.status === "published" ? "border-l-2 border-l-foreground" : "border-l-2 border-l-primary")
158
158
  ),
159
159
  children: [
160
- s === "editorial" && r.imageUrl && /* @__PURE__ */ e("div", { className: "w-10 h-10 flex-shrink-0 bg-muted rounded overflow-hidden", children: /* @__PURE__ */ e("img", { src: r.imageUrl, alt: "", className: "w-full h-full object-cover" }) }),
160
+ s === "editorial" && t.imageUrl && /* @__PURE__ */ e("div", { className: "w-10 h-10 flex-shrink-0 bg-muted rounded overflow-hidden", children: /* @__PURE__ */ e("img", { src: t.imageUrl, alt: "", className: "w-full h-full object-cover" }) }),
161
161
  /* @__PURE__ */ i("div", { className: "min-w-0 flex-1", children: [
162
162
  /* @__PURE__ */ i("div", { className: "flex items-center gap-1.5 mb-1", children: [
163
163
  s === "editorial" && /* @__PURE__ */ e(m, { size: 12, className: "text-muted-foreground" }),
164
- /* @__PURE__ */ e("span", { className: "truncate font-medium text-sm", children: r.title })
164
+ /* @__PURE__ */ e("span", { className: "truncate font-medium text-sm", children: t.title })
165
165
  ] }),
166
- /* @__PURE__ */ e(S, { variant: "secondary", className: "text-[10px] h-4 px-1 py-0", children: r.status })
166
+ /* @__PURE__ */ e(S, { variant: "secondary", className: "text-[10px] h-4 px-1 py-0", children: t.status })
167
167
  ] })
168
168
  ]
169
169
  }
170
170
  );
171
171
  }
172
172
  function Ve({
173
- days: r,
174
- tasks: t,
173
+ days: t,
174
+ tasks: r,
175
175
  onDropTask: s,
176
- onTaskClick: d,
176
+ onTaskClick: o,
177
177
  onAddClick: c,
178
178
  view: a
179
179
  }) {
180
- return /* @__PURE__ */ e("div", { className: f(
180
+ return /* @__PURE__ */ e("div", { className: p(
181
181
  "grid h-full min-h-[calc(100vh-200px)] bg-muted/30",
182
182
  a === "week" ? "grid-cols-7 divide-x" : "grid-cols-1 border-x"
183
- ), children: r.map((l) => {
184
- const m = t.filter((n) => n.date && V(new Date(n.date), l)).sort((n, o) => n.date && o.date ? new Date(n.date).getTime() - new Date(o.date).getTime() : 0);
183
+ ), children: t.map((l) => {
184
+ const m = r.filter((n) => n.date && V(new Date(n.date), l)).sort((n, d) => n.date && d.date ? new Date(n.date).getTime() - new Date(d.date).getTime() : 0);
185
185
  return /* @__PURE__ */ e(
186
- $e,
186
+ _e,
187
187
  {
188
188
  day: l,
189
189
  tasks: m,
190
190
  onDropTask: s,
191
- onTaskClick: d,
191
+ onTaskClick: o,
192
192
  onAddClick: c,
193
193
  isToday: A(l)
194
194
  },
@@ -196,41 +196,41 @@ function Ve({
196
196
  );
197
197
  }) });
198
198
  }
199
- function $e({ day: r, tasks: t, onDropTask: s, onTaskClick: d, onAddClick: c, isToday: a }) {
200
- const [{ isOver: l }, m] = $(() => ({
199
+ function _e({ day: t, tasks: r, onDropTask: s, onTaskClick: o, onAddClick: c, isToday: a }) {
200
+ const [{ isOver: l }, m] = _(() => ({
201
201
  accept: C.TASK,
202
- drop: (n) => s(n.id, r),
202
+ drop: (n) => s(n.id, t),
203
203
  collect: (n) => ({
204
204
  isOver: !!n.isOver()
205
205
  })
206
- }), [r, s]);
206
+ }), [t, s]);
207
207
  return /* @__PURE__ */ i(
208
208
  "div",
209
209
  {
210
210
  ref: m,
211
- className: f(
211
+ className: p(
212
212
  "flex flex-col h-full min-h-0 transition-colors",
213
213
  l && "bg-accent ring-inset ring-2 ring-ring"
214
214
  ),
215
215
  children: [
216
- /* @__PURE__ */ i("div", { className: f(
216
+ /* @__PURE__ */ i("div", { className: p(
217
217
  "p-2 text-center border-b bg-card sticky top-0 z-10",
218
218
  a && "bg-accent/50"
219
219
  ), children: [
220
- /* @__PURE__ */ e("div", { className: "text-xs font-semibold uppercase text-muted-foreground mb-1", children: u(r, "EEE") }),
221
- /* @__PURE__ */ e("div", { className: f(
220
+ /* @__PURE__ */ e("div", { className: "text-xs font-semibold uppercase text-muted-foreground mb-1", children: h(t, "EEE") }),
221
+ /* @__PURE__ */ e("div", { className: p(
222
222
  "w-8 h-8 rounded-full flex items-center justify-center mx-auto text-sm font-medium",
223
223
  a ? "bg-primary text-primary-foreground" : "text-foreground bg-muted"
224
- ), children: u(r, "d") })
224
+ ), children: h(t, "d") })
225
225
  ] }),
226
- /* @__PURE__ */ i("div", { className: "flex-1 p-2 space-y-3 overflow-y-auto", children: [
226
+ /* @__PURE__ */ i("div", { className: "flex-1 p-2 space-y-3 overflow-y-auto focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset", tabIndex: 0, role: "group", "aria-label": `Publicações de ${h(t, "PP")}`, children: [
227
227
  /* @__PURE__ */ i(
228
228
  w,
229
229
  {
230
230
  variant: "outline",
231
231
  size: "sm",
232
232
  className: "w-full mb-2 justify-center px-1",
233
- onClick: () => c(r),
233
+ onClick: () => c(t),
234
234
  children: [
235
235
  /* @__PURE__ */ e(z, { size: 12, className: "flex-shrink-0" }),
236
236
  /* @__PURE__ */ e("span", { className: "truncate ml-1.5 hidden xl:inline", children: "Add Post" }),
@@ -238,13 +238,13 @@ function $e({ day: r, tasks: t, onDropTask: s, onTaskClick: d, onAddClick: c, is
238
238
  ]
239
239
  }
240
240
  ),
241
- t.map((n) => /* @__PURE__ */ e(
241
+ r.map((n) => /* @__PURE__ */ e(
242
242
  H,
243
243
  {
244
244
  task: n,
245
245
  view: "week",
246
246
  mode: "editorial",
247
- onClick: () => d(n)
247
+ onClick: () => o(n)
248
248
  },
249
249
  n.id
250
250
  ))
@@ -253,32 +253,32 @@ function $e({ day: r, tasks: t, onDropTask: s, onTaskClick: d, onAddClick: c, is
253
253
  }
254
254
  );
255
255
  }
256
- function Fe({
257
- days: r,
258
- tasks: t,
256
+ function $e({
257
+ days: t,
258
+ tasks: r,
259
259
  onDropTask: s,
260
- onTaskClick: d,
260
+ onTaskClick: o,
261
261
  onAddClick: c
262
262
  }) {
263
263
  const a = Array.from({ length: 24 }, (l, m) => m);
264
- return /* @__PURE__ */ i("div", { className: "flex h-full relative overflow-y-auto bg-card select-none", children: [
264
+ return /* @__PURE__ */ i("div", { className: "flex h-full relative overflow-y-auto bg-card select-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset", tabIndex: 0, role: "group", "aria-label": "Linha do tempo de execução", children: [
265
265
  /* @__PURE__ */ i("div", { className: "w-14 flex-shrink-0 border-r bg-card sticky left-0 z-30", children: [
266
266
  /* @__PURE__ */ e("div", { className: "h-10 border-b bg-card sticky top-0 z-40 flex-shrink-0" }),
267
267
  " ",
268
- a.map((l) => /* @__PURE__ */ e("div", { className: "h-24 border-b text-right pr-2 pt-2 text-xs text-muted-foreground font-medium relative", children: /* @__PURE__ */ e("span", { className: "-top-2.5 relative", children: u(ue(/* @__PURE__ */ new Date(), l), "ha") }) }, l))
268
+ a.map((l) => /* @__PURE__ */ e("div", { className: "h-24 border-b text-right pr-2 pt-2 text-xs text-muted-foreground font-medium relative", children: /* @__PURE__ */ e("span", { className: "-top-2.5 relative", children: h(he(/* @__PURE__ */ new Date(), l), "ha") }) }, l))
269
269
  ] }),
270
270
  /* @__PURE__ */ i("div", { className: "flex flex-1 min-w-0 relative", children: [
271
- r.map((l, m) => {
272
- const n = t.filter((o) => o.date && V(new Date(o.date), l));
271
+ t.map((l, m) => {
272
+ const n = r.filter((d) => d.date && V(new Date(d.date), l));
273
273
  return /* @__PURE__ */ e(
274
- Ue,
274
+ Fe,
275
275
  {
276
276
  day: l,
277
277
  tasks: n,
278
278
  onDropTask: s,
279
- onTaskClick: d,
279
+ onTaskClick: o,
280
280
  onAddClick: c,
281
- isLast: m === r.length - 1,
281
+ isLast: m === t.length - 1,
282
282
  HOURS: a
283
283
  },
284
284
  l.toISOString()
@@ -292,64 +292,64 @@ function Fe({
292
292
  ] })
293
293
  ] });
294
294
  }
295
- function Ue({
296
- day: r,
297
- tasks: t,
295
+ function Fe({
296
+ day: t,
297
+ tasks: r,
298
298
  onDropTask: s,
299
- onTaskClick: d,
299
+ onTaskClick: o,
300
300
  onAddClick: c,
301
301
  isLast: a,
302
302
  HOURS: l
303
303
  }) {
304
- const [{ isOver: m }, n] = $(() => ({
304
+ const [{ isOver: m }, n] = _(() => ({
305
305
  accept: C.TASK,
306
- drop: (o) => {
307
- s(o.id, r);
306
+ drop: (d) => {
307
+ s(d.id, t);
308
308
  },
309
- collect: (o) => ({
310
- isOver: !!o.isOver()
309
+ collect: (d) => ({
310
+ isOver: !!d.isOver()
311
311
  })
312
- }), [r, s]);
312
+ }), [t, s]);
313
313
  return /* @__PURE__ */ i(
314
314
  "div",
315
315
  {
316
316
  ref: n,
317
- className: f(
317
+ className: p(
318
318
  "flex-1 relative min-w-[150px]",
319
319
  !a && "border-r",
320
320
  m && "bg-accent/50"
321
321
  ),
322
322
  children: [
323
323
  /* @__PURE__ */ e("div", { className: "sticky top-0 z-20 bg-card border-b h-10 flex items-center justify-center shadow-sm", children: /* @__PURE__ */ i("div", { className: "text-xs font-bold text-muted-foreground", children: [
324
- u(r, "EEE"),
324
+ h(t, "EEE"),
325
325
  " ",
326
- /* @__PURE__ */ e("span", { className: f("ml-1", A(r) && "text-primary"), children: u(r, "d") })
326
+ /* @__PURE__ */ e("span", { className: p("ml-1", A(t) && "text-primary"), children: h(t, "d") })
327
327
  ] }) }),
328
- l.map((o) => /* @__PURE__ */ e(
328
+ l.map((d) => /* @__PURE__ */ e(
329
329
  "div",
330
330
  {
331
331
  className: "h-24 w-full absolute hover:bg-muted/50 transition-colors cursor-pointer z-10",
332
- style: { top: `${o * 96 + 40}px` },
333
- onClick: (h) => {
334
- h.stopPropagation();
335
- const g = new Date(r);
336
- g.setHours(o, 0), c(g);
332
+ style: { top: `${d * 96 + 40}px` },
333
+ onClick: (u) => {
334
+ u.stopPropagation();
335
+ const g = new Date(t);
336
+ g.setHours(d, 0), c(g);
337
337
  }
338
338
  },
339
- o
339
+ d
340
340
  )),
341
- t.map((o) => {
342
- const h = o.date ? new Date(o.date) : /* @__PURE__ */ new Date(), g = o.endDate ? new Date(o.endDate) : J(h, 1), y = _(h), x = q(h);
343
- let v = ge(g, h);
341
+ r.map((d) => {
342
+ const u = d.date ? new Date(d.date) : /* @__PURE__ */ new Date(), g = d.endDate ? new Date(d.endDate) : J(u, 1), y = Y(u), b = q(u);
343
+ let v = ge(g, u);
344
344
  v < 30 && (v = 30);
345
- const T = y * 96 + x / 60 * 96 + 40, j = v / 60 * 96;
345
+ const T = y * 96 + b / 60 * 96 + 40, j = v / 60 * 96;
346
346
  return /* @__PURE__ */ e(
347
347
  H,
348
348
  {
349
- task: o,
349
+ task: d,
350
350
  view: "week",
351
351
  mode: "execution",
352
- onClick: () => d(o),
352
+ onClick: () => o(d),
353
353
  style: {
354
354
  top: `${T}px`,
355
355
  height: `${j}px`,
@@ -358,7 +358,7 @@ function Ue({
358
358
  position: "absolute"
359
359
  }
360
360
  },
361
- o.id
361
+ d.id
362
362
  );
363
363
  })
364
364
  ]
@@ -366,25 +366,25 @@ function Ue({
366
366
  );
367
367
  }
368
368
  function ee({
369
- days: r,
370
- tasks: t,
369
+ days: t,
370
+ tasks: r,
371
371
  currentDate: s,
372
- onDropTask: d,
372
+ onDropTask: o,
373
373
  onTaskClick: c,
374
374
  onAddClick: a,
375
375
  mode: l
376
376
  }) {
377
- return /* @__PURE__ */ e("div", { className: "grid grid-cols-7 auto-rows-fr min-h-[800px]", children: r.map((m) => {
378
- const n = t.filter(
379
- (o) => o.date && V(new Date(o.date), m)
377
+ return /* @__PURE__ */ e("div", { className: "grid grid-cols-7 auto-rows-fr min-h-[800px]", children: t.map((m) => {
378
+ const n = r.filter(
379
+ (d) => d.date && V(new Date(d.date), m)
380
380
  );
381
381
  return /* @__PURE__ */ e(
382
- Ke,
382
+ Le,
383
383
  {
384
384
  date: m,
385
385
  tasks: n,
386
- isCurrentMonth: he(m, s),
387
- onDropTask: d,
386
+ isCurrentMonth: ue(m, s),
387
+ onDropTask: o,
388
388
  onTaskClick: c,
389
389
  onAddClick: a,
390
390
  mode: l
@@ -393,79 +393,79 @@ function ee({
393
393
  );
394
394
  }) });
395
395
  }
396
- function Ke({
397
- date: r,
398
- tasks: t,
396
+ function Le({
397
+ date: t,
398
+ tasks: r,
399
399
  isCurrentMonth: s,
400
- onDropTask: d,
400
+ onDropTask: o,
401
401
  onTaskClick: c,
402
402
  onAddClick: a,
403
403
  mode: l
404
404
  }) {
405
- const [{ isOver: m }, n] = $(() => ({
405
+ const [{ isOver: m }, n] = _(() => ({
406
406
  accept: C.TASK,
407
- drop: (h) => d(h.id, r),
408
- collect: (h) => ({
409
- isOver: !!h.isOver()
407
+ drop: (u) => o(u.id, t),
408
+ collect: (u) => ({
409
+ isOver: !!u.isOver()
410
410
  })
411
- }), [r, d]), o = A(r);
411
+ }), [t, o]), d = A(t);
412
412
  return /* @__PURE__ */ i(
413
413
  "div",
414
414
  {
415
415
  ref: n,
416
- className: f(
416
+ className: p(
417
417
  "min-h-[120px] border-b border-r p-2 relative transition-colors group flex flex-col",
418
418
  !s && "bg-muted/50 text-muted-foreground",
419
419
  m && "bg-accent ring-2 ring-inset ring-ring",
420
- o && "bg-accent/30"
420
+ d && "bg-accent/30"
421
421
  ),
422
422
  children: [
423
423
  /* @__PURE__ */ i("div", { className: "flex justify-between items-start mb-2", children: [
424
- /* @__PURE__ */ e("span", { className: f(
424
+ /* @__PURE__ */ e("span", { className: p(
425
425
  "text-sm font-medium rounded-full w-7 h-7 flex items-center justify-center",
426
- o ? "bg-primary text-primary-foreground" : "text-foreground"
427
- ), children: u(r, "d") }),
426
+ d ? "bg-primary text-primary-foreground" : "text-foreground"
427
+ ), children: h(t, "d") }),
428
428
  /* @__PURE__ */ e(
429
429
  w,
430
430
  {
431
431
  variant: "ghost",
432
432
  size: "icon",
433
- className: "h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity",
434
- onClick: () => a(r),
435
- "aria-label": `Agendar publicação em ${u(r, "d/MM")}`,
433
+ className: "h-6 w-6 relative before:absolute before:-inset-1.5 before:content-[''] opacity-100 md:opacity-0 md:group-hover:opacity-100 md:group-focus-within:opacity-100 transition-opacity",
434
+ onClick: () => a(t),
435
+ "aria-label": `Agendar publicação em ${h(t, "d/MM")}`,
436
436
  children: /* @__PURE__ */ e(z, { size: 14 })
437
437
  }
438
438
  )
439
439
  ] }),
440
- /* @__PURE__ */ e("div", { className: "flex-1 flex flex-col gap-1", children: t.map((h) => /* @__PURE__ */ e(
440
+ /* @__PURE__ */ e("div", { className: "flex-1 flex flex-col gap-1", children: r.map((u) => /* @__PURE__ */ e(
441
441
  H,
442
442
  {
443
- task: h,
443
+ task: u,
444
444
  view: "month",
445
445
  mode: l,
446
- onClick: () => c(h)
446
+ onClick: () => c(u)
447
447
  },
448
- h.id
448
+ u.id
449
449
  )) })
450
450
  ]
451
451
  }
452
452
  );
453
453
  }
454
- function te({
455
- isOpen: r,
456
- onClose: t,
454
+ function re({
455
+ isOpen: t,
456
+ onClose: r,
457
457
  task: s,
458
- onSave: d,
458
+ onSave: o,
459
459
  isNew: c = !1
460
460
  }) {
461
461
  const [a, l] = N(s || {});
462
- Y(() => {
462
+ W(() => {
463
463
  l(s || {});
464
464
  }, [s]);
465
465
  const m = () => {
466
- d(a), t();
466
+ o(a), r();
467
467
  };
468
- return /* @__PURE__ */ e(Oe, { open: r, onOpenChange: (n) => !n && t(), children: /* @__PURE__ */ i(Se, { className: "sm:max-w-[600px]", children: [
468
+ return /* @__PURE__ */ e(Oe, { open: t, onOpenChange: (n) => !n && r(), children: /* @__PURE__ */ i(Se, { className: "sm:max-w-[600px]", children: [
469
469
  /* @__PURE__ */ i(Ae, { children: [
470
470
  /* @__PURE__ */ e(ze, { children: c ? "Create New Task" : "Edit Task" }),
471
471
  /* @__PURE__ */ e(He, { children: c ? "Enter the details for the new task below." : "Modify the details of the selected task." })
@@ -492,9 +492,9 @@ function te({
492
492
  {
493
493
  type: "date",
494
494
  className: "flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm",
495
- value: a.date instanceof Date ? u(a.date, "yyyy-MM-dd") : typeof a.date == "string" ? a.date.split("T")[0] : "",
495
+ value: a.date instanceof Date ? h(a.date, "yyyy-MM-dd") : typeof a.date == "string" ? a.date.split("T")[0] : "",
496
496
  onChange: (n) => {
497
- const o = n.target.value, h = a.date instanceof Date ? a.date : /* @__PURE__ */ new Date(), g = /* @__PURE__ */ new Date(`${o}T${u(h, "HH:mm")}`);
497
+ const d = n.target.value, u = a.date instanceof Date ? a.date : /* @__PURE__ */ new Date(), g = /* @__PURE__ */ new Date(`${d}T${h(u, "HH:mm")}`);
498
498
  l({ ...a, date: g });
499
499
  }
500
500
  }
@@ -505,10 +505,10 @@ function te({
505
505
  {
506
506
  type: "time",
507
507
  className: "w-32 flex h-9 rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm",
508
- value: a.date instanceof Date ? u(a.date, "HH:mm") : "09:00",
508
+ value: a.date instanceof Date ? h(a.date, "HH:mm") : "09:00",
509
509
  onChange: (n) => {
510
- const o = n.target.value, h = a.date instanceof Date ? u(a.date, "yyyy-MM-dd") : u(/* @__PURE__ */ new Date(), "yyyy-MM-dd");
511
- l({ ...a, date: /* @__PURE__ */ new Date(`${h}T${o}`) });
510
+ const d = n.target.value, u = a.date instanceof Date ? h(a.date, "yyyy-MM-dd") : h(/* @__PURE__ */ new Date(), "yyyy-MM-dd");
511
+ l({ ...a, date: /* @__PURE__ */ new Date(`${u}T${d}`) });
512
512
  }
513
513
  }
514
514
  )
@@ -555,32 +555,32 @@ function te({
555
555
  ] })
556
556
  ] }),
557
557
  /* @__PURE__ */ i(je, { children: [
558
- /* @__PURE__ */ e(w, { variant: "outline", onClick: t, children: "Cancel" }),
558
+ /* @__PURE__ */ e(w, { variant: "outline", onClick: r, children: "Cancel" }),
559
559
  /* @__PURE__ */ e(w, { onClick: m, children: "Save Changes" })
560
560
  ] })
561
561
  ] }) });
562
562
  }
563
- function re({
564
- tasks: r,
565
- onTaskUpdate: t,
563
+ function te({
564
+ tasks: t,
565
+ onTaskUpdate: r,
566
566
  onTaskCreate: s,
567
- defaultView: d = "month"
567
+ defaultView: o = "month"
568
568
  }) {
569
- const [c, a] = N(/* @__PURE__ */ new Date()), [l, m] = N(d), [n, o] = N(!0), [h, g] = N(!1), [y, x] = N(null), [v, T] = N(!1), j = Y(() => {
570
- let p, b;
569
+ const [c, a] = N(/* @__PURE__ */ new Date()), [l, m] = N(o), [n, d] = N(!0), [u, g] = N(!1), [y, b] = N(null), [v, T] = N(!1), j = W(() => {
570
+ let f, x;
571
571
  if (l === "month") {
572
- const M = oe(c), k = ce(M);
573
- p = U(M), b = K(k);
574
- } else l === "week" ? (p = U(c), b = K(c)) : (p = c, b = c);
575
- return me({ start: p, end: b });
576
- }, [c, l]), le = r.filter((p) => !p.date), se = r.filter((p) => p.date);
572
+ const M = de(c), k = ce(M);
573
+ f = F(M), x = L(k);
574
+ } else l === "week" ? (f = F(c), x = L(c)) : (f = c, x = c);
575
+ return me({ start: f, end: x });
576
+ }, [c, l]), le = t.filter((f) => !f.date), se = t.filter((f) => f.date);
577
577
  return {
578
578
  currentDate: c,
579
579
  view: l,
580
580
  setView: m,
581
581
  isSidebarOpen: n,
582
- setIsSidebarOpen: o,
583
- isModalOpen: h,
582
+ setIsSidebarOpen: d,
583
+ isModalOpen: u,
584
584
  setIsModalOpen: g,
585
585
  editingTask: y,
586
586
  isNewTask: v,
@@ -588,55 +588,55 @@ function re({
588
588
  unplannedTasks: le,
589
589
  scheduledTasks: se,
590
590
  handlePrev: () => {
591
- a(l === "month" ? fe(c, 1) : l === "week" ? O(c, -7) : O(c, -1));
591
+ a(l === "month" ? pe(c, 1) : l === "week" ? O(c, -7) : O(c, -1));
592
592
  },
593
593
  handleNext: () => {
594
- a(l === "month" ? pe(c, 1) : l === "week" ? O(c, 7) : O(c, 1));
594
+ a(l === "month" ? fe(c, 1) : l === "week" ? O(c, 7) : O(c, 1));
595
595
  },
596
596
  handleToday: () => a(/* @__PURE__ */ new Date()),
597
- handleDropTask: (p, b, M) => {
598
- const k = r.find((D) => D.id === p);
597
+ handleDropTask: (f, x, M) => {
598
+ const k = t.find((D) => D.id === f);
599
599
  if (k) {
600
- let D = new Date(b);
600
+ let D = new Date(x);
601
601
  if (l === "month" || M === "editorial")
602
602
  if (k.date) {
603
- const F = new Date(k.date);
604
- D.setHours(F.getHours(), F.getMinutes());
603
+ const $ = new Date(k.date);
604
+ D.setHours($.getHours(), $.getMinutes());
605
605
  } else
606
606
  D.setHours(9, 0);
607
- const de = { ...k, date: D };
608
- t(de);
607
+ const oe = { ...k, date: D };
608
+ r(oe);
609
609
  }
610
610
  },
611
- handleTaskClick: (p) => {
612
- x(p), T(!1), g(!0);
611
+ handleTaskClick: (f) => {
612
+ b(f), T(!1), g(!0);
613
613
  },
614
- handleAddClick: (p) => {
615
- const b = p || /* @__PURE__ */ new Date();
616
- _(b) === 0 && q(b) === 0 && b.setHours(9, 0), x({
617
- date: b,
614
+ handleAddClick: (f) => {
615
+ const x = f || /* @__PURE__ */ new Date();
616
+ Y(x) === 0 && q(x) === 0 && x.setHours(9, 0), b({
617
+ date: x,
618
618
  status: "idea",
619
619
  channel: "instagram"
620
620
  }), T(!0), g(!0);
621
621
  },
622
- handleModalSave: (p) => {
623
- v ? s && s(p) : p.id && t(p), g(!1);
622
+ handleModalSave: (f) => {
623
+ v ? s && s(f) : f.id && r(f), g(!1);
624
624
  }
625
625
  };
626
626
  }
627
- function ae({ isOpen: r, setIsOpen: t, tasks: s, onAddClick: d, onTaskClick: c, mode: a }) {
628
- return r ? /* @__PURE__ */ i("div", { className: "w-72 border-r bg-muted/50 flex flex-col transition-all duration-300 flex-shrink-0", children: [
627
+ function ae({ isOpen: t, setIsOpen: r, tasks: s, onAddClick: o, onTaskClick: c, mode: a }) {
628
+ return t ? /* @__PURE__ */ i("div", { className: "w-72 border-r bg-muted/50 flex flex-col transition-all duration-300 flex-shrink-0", children: [
629
629
  /* @__PURE__ */ i("div", { className: "p-4 border-b bg-card flex items-center justify-between", children: [
630
630
  /* @__PURE__ */ i("div", { className: "flex items-center gap-2", children: [
631
631
  /* @__PURE__ */ e("h3", { className: "font-semibold text-sm text-foreground", children: "Backlog" }),
632
- /* @__PURE__ */ e(S, { variant: "secondary", className: "bg-muted text-xs", children: s.length })
632
+ /* @__PURE__ */ e(S, { variant: "secondary", className: "bg-muted text-foreground text-xs", children: s.length })
633
633
  ] }),
634
- /* @__PURE__ */ e(w, { variant: "ghost", size: "icon", className: "h-6 w-6", onClick: () => t(!1), "aria-label": "Recolher backlog", children: /* @__PURE__ */ e(be, { size: 16 }) })
634
+ /* @__PURE__ */ e(w, { variant: "ghost", size: "icon", className: "h-6 w-6 relative before:absolute before:-inset-1.5 before:content-['']", onClick: () => r(!1), "aria-label": "Recolher backlog", children: /* @__PURE__ */ e(xe, { size: 16 }) })
635
635
  ] }),
636
636
  /* @__PURE__ */ e("div", { className: "px-4 pt-3 bg-card pb-3 border-b space-y-2", children: /* @__PURE__ */ i(
637
637
  w,
638
638
  {
639
- onClick: d,
639
+ onClick: o,
640
640
  variant: "outline",
641
641
  size: "sm",
642
642
  className: "w-full justify-start pl-2",
@@ -646,7 +646,7 @@ function ae({ isOpen: r, setIsOpen: t, tasks: s, onAddClick: d, onTaskClick: c,
646
646
  ]
647
647
  }
648
648
  ) }),
649
- /* @__PURE__ */ e(Ie, { className: "flex-1 p-3", children: /* @__PURE__ */ e("div", { className: "space-y-2", children: s.length === 0 ? /* @__PURE__ */ e("div", { className: "text-center py-10 px-4 border-2 border-dashed border-border rounded-lg", children: /* @__PURE__ */ e("p", { className: "text-xs text-foreground/70", children: "Nenhum item sem agenda" }) }) : s.map((l) => /* @__PURE__ */ e(
649
+ /* @__PURE__ */ e(Ee, { className: "flex-1 p-3", children: /* @__PURE__ */ e("div", { className: "space-y-2", children: s.length === 0 ? /* @__PURE__ */ e("div", { className: "text-center py-10 px-4 border-2 border-dashed border-border rounded-lg", children: /* @__PURE__ */ e("p", { className: "text-xs text-foreground/70", children: "Nenhum item sem agenda" }) }) : s.map((l) => /* @__PURE__ */ e(
650
650
  H,
651
651
  {
652
652
  task: l,
@@ -656,25 +656,25 @@ function ae({ isOpen: r, setIsOpen: t, tasks: s, onAddClick: d, onTaskClick: c,
656
656
  },
657
657
  l.id
658
658
  )) }) })
659
- ] }) : /* @__PURE__ */ i("div", { className: "border-r bg-card flex flex-col items-center py-4 w-12 flex-shrink-0 cursor-pointer hover:bg-muted transition-colors", onClick: () => t(!0), children: [
660
- /* @__PURE__ */ e(xe, { className: "text-muted-foreground mb-4", size: 20 }),
659
+ ] }) : /* @__PURE__ */ i("div", { className: "border-r bg-card flex flex-col items-center py-4 w-12 flex-shrink-0 cursor-pointer hover:bg-muted transition-colors", onClick: () => r(!0), children: [
660
+ /* @__PURE__ */ e(be, { className: "text-muted-foreground mb-4", size: 20 }),
661
661
  /* @__PURE__ */ e("div", { className: "flex-1 flex items-center justify-center min-h-0", children: /* @__PURE__ */ e("div", { className: "whitespace-nowrap text-xs font-medium text-muted-foreground -rotate-90 transform", children: "BACKLOG" }) }),
662
662
  /* @__PURE__ */ e(S, { className: "mt-2 h-5 w-5 p-0 flex items-center justify-center rounded-full bg-primary text-[10px]", children: s.length })
663
663
  ] });
664
664
  }
665
- function ne({ title: r, onPrev: t, onNext: s, onToday: d, onAdd: c, view: a, setView: l }) {
665
+ function ne({ title: t, onPrev: r, onNext: s, onToday: o, onAdd: c, view: a, setView: l }) {
666
666
  return /* @__PURE__ */ i("div", { className: "flex flex-col xl:flex-row items-center justify-between p-4 border-b gap-4 flex-shrink-0 bg-card", children: [
667
667
  /* @__PURE__ */ i("div", { className: "flex items-center gap-4 w-full xl:w-auto justify-between xl:justify-start", children: [
668
668
  /* @__PURE__ */ i("div", { className: "flex items-center border rounded-md bg-card shadow-sm", children: [
669
- /* @__PURE__ */ e(w, { variant: "ghost", size: "icon", onClick: t, className: "h-8 w-8 rounded-r-none", "aria-label": "Anterior", children: /* @__PURE__ */ e(ve, { className: "h-4 w-4" }) }),
670
- /* @__PURE__ */ e(w, { variant: "ghost", onClick: d, className: "h-8 px-3 rounded-none border-x text-sm font-medium hover:bg-muted", children: "Hoje" }),
669
+ /* @__PURE__ */ e(w, { variant: "ghost", size: "icon", onClick: r, className: "h-8 w-8 rounded-r-none", "aria-label": "Anterior", children: /* @__PURE__ */ e(ve, { className: "h-4 w-4" }) }),
670
+ /* @__PURE__ */ e(w, { variant: "ghost", onClick: o, className: "h-8 px-3 rounded-none border-x text-sm font-medium hover:bg-muted", children: "Hoje" }),
671
671
  /* @__PURE__ */ e(w, { variant: "ghost", size: "icon", onClick: s, className: "h-8 w-8 rounded-l-none", "aria-label": "Próximo", children: /* @__PURE__ */ e(we, { className: "h-4 w-4" }) })
672
672
  ] }),
673
- /* @__PURE__ */ e("h2", { className: "text-lg font-bold text-foreground whitespace-nowrap", children: r })
673
+ /* @__PURE__ */ e("h2", { className: "text-lg font-bold text-foreground whitespace-nowrap", children: t })
674
674
  ] }),
675
675
  /* @__PURE__ */ i("div", { className: "flex items-center gap-3 w-full xl:w-auto overflow-x-auto pb-1 xl:pb-0 justify-end", children: [
676
676
  /* @__PURE__ */ i(
677
- Ee,
677
+ Ie,
678
678
  {
679
679
  type: "single",
680
680
  value: a,
@@ -682,9 +682,9 @@ function ne({ title: r, onPrev: t, onNext: s, onToday: d, onAdd: c, view: a, set
682
682
  className: "flex-shrink-0",
683
683
  "aria-label": "Visualização do calendário",
684
684
  children: [
685
- /* @__PURE__ */ e(E, { value: "month", className: "text-xs", children: "Mês" }),
686
- /* @__PURE__ */ e(E, { value: "week", className: "text-xs", children: "Semana" }),
687
- /* @__PURE__ */ e(E, { value: "day", className: "text-xs", children: "Dia" })
685
+ /* @__PURE__ */ e(I, { value: "month", className: "text-xs", children: "Mês" }),
686
+ /* @__PURE__ */ e(I, { value: "week", className: "text-xs", children: "Semana" }),
687
+ /* @__PURE__ */ e(I, { value: "day", className: "text-xs", children: "Dia" })
688
688
  ]
689
689
  }
690
690
  ),
@@ -703,20 +703,20 @@ function ne({ title: r, onPrev: t, onNext: s, onToday: d, onAdd: c, view: a, set
703
703
  ] })
704
704
  ] });
705
705
  }
706
- function ie({ days: r }) {
707
- return /* @__PURE__ */ e("div", { className: "grid grid-cols-7 border-b bg-muted/50 flex-shrink-0 divide-x", children: r.slice(0, 7).map((t, s) => /* @__PURE__ */ e("div", { className: "py-2 text-center group", children: /* @__PURE__ */ e("div", { className: f("text-xs font-semibold uppercase tracking-wider", A(t) ? "text-primary" : "text-foreground/70"), children: u(t, "EEE") }) }, s)) });
706
+ function ie({ days: t }) {
707
+ return /* @__PURE__ */ e("div", { className: "grid grid-cols-7 border-b bg-muted/50 flex-shrink-0 divide-x", children: t.slice(0, 7).map((r, s) => /* @__PURE__ */ e("div", { className: "py-2 text-center group", children: /* @__PURE__ */ e("div", { className: p("text-xs font-semibold uppercase tracking-wider", A(r) ? "text-primary" : "text-foreground/70"), children: h(r, "EEE") }) }, s)) });
708
708
  }
709
- function dt(r) {
710
- const t = re({ ...r, defaultView: "month" });
711
- return /* @__PURE__ */ e(Q, { backend: X, children: /* @__PURE__ */ i("div", { className: f("flex h-[calc(100vh-100px)] bg-background border rounded-lg overflow-hidden shadow-sm", r.className), children: [
709
+ function or(t) {
710
+ const r = te({ ...t, defaultView: "month" });
711
+ return /* @__PURE__ */ e(Q, { backend: X, children: /* @__PURE__ */ i("div", { className: p("flex h-[calc(100vh-100px)] bg-background border rounded-lg overflow-hidden shadow-sm", t.className), children: [
712
712
  /* @__PURE__ */ e(
713
713
  ae,
714
714
  {
715
- isOpen: t.isSidebarOpen,
716
- setIsOpen: t.setIsSidebarOpen,
717
- tasks: t.unplannedTasks,
718
- onAddClick: () => t.handleAddClick(),
719
- onTaskClick: t.handleTaskClick,
715
+ isOpen: r.isSidebarOpen,
716
+ setIsOpen: r.setIsSidebarOpen,
717
+ tasks: r.unplannedTasks,
718
+ onAddClick: () => r.handleAddClick(),
719
+ onTaskClick: r.handleTaskClick,
720
720
  mode: "editorial"
721
721
  }
722
722
  ),
@@ -724,63 +724,63 @@ function dt(r) {
724
724
  /* @__PURE__ */ e(
725
725
  ne,
726
726
  {
727
- title: t.view === "day" ? u(t.currentDate, "MMM d, yyyy") : u(t.currentDate, "MMMM yyyy"),
728
- onPrev: t.handlePrev,
729
- onNext: t.handleNext,
730
- onToday: t.handleToday,
731
- onAdd: () => t.handleAddClick(t.currentDate),
732
- view: t.view,
733
- setView: t.setView,
727
+ title: r.view === "day" ? h(r.currentDate, "MMM d, yyyy") : h(r.currentDate, "MMMM yyyy"),
728
+ onPrev: r.handlePrev,
729
+ onNext: r.handleNext,
730
+ onToday: r.handleToday,
731
+ onAdd: () => r.handleAddClick(r.currentDate),
732
+ view: r.view,
733
+ setView: r.setView,
734
734
  mode: "editorial"
735
735
  }
736
736
  ),
737
- t.view === "month" && /* @__PURE__ */ e(ie, { days: t.calendarDays }),
738
- /* @__PURE__ */ e("div", { className: "flex-1 overflow-hidden flex flex-col relative", children: t.view === "month" ? /* @__PURE__ */ e(
737
+ r.view === "month" && /* @__PURE__ */ e(ie, { days: r.calendarDays }),
738
+ /* @__PURE__ */ e("div", { className: "flex-1 overflow-hidden flex flex-col relative", children: r.view === "month" ? /* @__PURE__ */ e(
739
739
  ee,
740
740
  {
741
- days: t.calendarDays,
742
- tasks: t.scheduledTasks,
743
- currentDate: t.currentDate,
744
- onDropTask: (s, d) => t.handleDropTask(s, d, "editorial"),
745
- onTaskClick: t.handleTaskClick,
746
- onAddClick: t.handleAddClick,
741
+ days: r.calendarDays,
742
+ tasks: r.scheduledTasks,
743
+ currentDate: r.currentDate,
744
+ onDropTask: (s, o) => r.handleDropTask(s, o, "editorial"),
745
+ onTaskClick: r.handleTaskClick,
746
+ onAddClick: r.handleAddClick,
747
747
  mode: "editorial"
748
748
  }
749
749
  ) : /* @__PURE__ */ e(
750
750
  Ve,
751
751
  {
752
- days: t.calendarDays,
753
- tasks: t.scheduledTasks,
754
- onDropTask: (s, d) => t.handleDropTask(s, d, "editorial"),
755
- onTaskClick: t.handleTaskClick,
756
- onAddClick: t.handleAddClick,
757
- view: t.view
752
+ days: r.calendarDays,
753
+ tasks: r.scheduledTasks,
754
+ onDropTask: (s, o) => r.handleDropTask(s, o, "editorial"),
755
+ onTaskClick: r.handleTaskClick,
756
+ onAddClick: r.handleAddClick,
757
+ view: r.view
758
758
  }
759
759
  ) })
760
760
  ] }),
761
- t.isModalOpen && /* @__PURE__ */ e(
762
- te,
761
+ r.isModalOpen && /* @__PURE__ */ e(
762
+ re,
763
763
  {
764
- isOpen: t.isModalOpen,
765
- onClose: () => t.setIsModalOpen(!1),
766
- task: t.editingTask || {},
767
- onSave: t.handleModalSave,
768
- isNew: t.isNewTask
764
+ isOpen: r.isModalOpen,
765
+ onClose: () => r.setIsModalOpen(!1),
766
+ task: r.editingTask || {},
767
+ onSave: r.handleModalSave,
768
+ isNew: r.isNewTask
769
769
  }
770
770
  )
771
771
  ] }) });
772
772
  }
773
- function ot(r) {
774
- const t = re({ ...r, defaultView: "week" });
775
- return /* @__PURE__ */ e(Q, { backend: X, children: /* @__PURE__ */ i("div", { className: f("flex h-[calc(100vh-100px)] bg-background border rounded-lg overflow-hidden shadow-sm", r.className), children: [
773
+ function dr(t) {
774
+ const r = te({ ...t, defaultView: "week" });
775
+ return /* @__PURE__ */ e(Q, { backend: X, children: /* @__PURE__ */ i("div", { className: p("flex h-[calc(100vh-100px)] bg-background border rounded-lg overflow-hidden shadow-sm", t.className), children: [
776
776
  /* @__PURE__ */ e(
777
777
  ae,
778
778
  {
779
- isOpen: t.isSidebarOpen,
780
- setIsOpen: t.setIsSidebarOpen,
781
- tasks: t.unplannedTasks,
782
- onAddClick: () => t.handleAddClick(),
783
- onTaskClick: t.handleTaskClick,
779
+ isOpen: r.isSidebarOpen,
780
+ setIsOpen: r.setIsSidebarOpen,
781
+ tasks: r.unplannedTasks,
782
+ onAddClick: () => r.handleAddClick(),
783
+ onTaskClick: r.handleTaskClick,
784
784
  mode: "execution"
785
785
  }
786
786
  ),
@@ -788,53 +788,53 @@ function ot(r) {
788
788
  /* @__PURE__ */ e(
789
789
  ne,
790
790
  {
791
- title: t.view === "day" ? u(t.currentDate, "MMM d, yyyy") : u(t.currentDate, "MMMM yyyy"),
792
- onPrev: t.handlePrev,
793
- onNext: t.handleNext,
794
- onToday: t.handleToday,
795
- onAdd: () => t.handleAddClick(t.currentDate),
796
- view: t.view,
797
- setView: t.setView,
791
+ title: r.view === "day" ? h(r.currentDate, "MMM d, yyyy") : h(r.currentDate, "MMMM yyyy"),
792
+ onPrev: r.handlePrev,
793
+ onNext: r.handleNext,
794
+ onToday: r.handleToday,
795
+ onAdd: () => r.handleAddClick(r.currentDate),
796
+ view: r.view,
797
+ setView: r.setView,
798
798
  mode: "execution"
799
799
  }
800
800
  ),
801
- t.view === "month" && /* @__PURE__ */ e(ie, { days: t.calendarDays }),
802
- /* @__PURE__ */ e("div", { className: "flex-1 overflow-hidden flex flex-col relative", children: t.view === "month" ? /* @__PURE__ */ e(
801
+ r.view === "month" && /* @__PURE__ */ e(ie, { days: r.calendarDays }),
802
+ /* @__PURE__ */ e("div", { className: "flex-1 overflow-hidden flex flex-col relative", children: r.view === "month" ? /* @__PURE__ */ e(
803
803
  ee,
804
804
  {
805
- days: t.calendarDays,
806
- tasks: t.scheduledTasks,
807
- currentDate: t.currentDate,
808
- onDropTask: (s, d) => t.handleDropTask(s, d, "execution"),
809
- onTaskClick: t.handleTaskClick,
810
- onAddClick: t.handleAddClick,
805
+ days: r.calendarDays,
806
+ tasks: r.scheduledTasks,
807
+ currentDate: r.currentDate,
808
+ onDropTask: (s, o) => r.handleDropTask(s, o, "execution"),
809
+ onTaskClick: r.handleTaskClick,
810
+ onAddClick: r.handleAddClick,
811
811
  mode: "execution"
812
812
  }
813
813
  ) : /* @__PURE__ */ e(
814
- Fe,
814
+ $e,
815
815
  {
816
- days: t.calendarDays,
817
- tasks: t.scheduledTasks,
818
- onDropTask: (s, d) => t.handleDropTask(s, d, "execution"),
819
- onTaskClick: t.handleTaskClick,
820
- onAddClick: t.handleAddClick
816
+ days: r.calendarDays,
817
+ tasks: r.scheduledTasks,
818
+ onDropTask: (s, o) => r.handleDropTask(s, o, "execution"),
819
+ onTaskClick: r.handleTaskClick,
820
+ onAddClick: r.handleAddClick
821
821
  }
822
822
  ) })
823
823
  ] }),
824
- t.isModalOpen && /* @__PURE__ */ e(
825
- te,
824
+ r.isModalOpen && /* @__PURE__ */ e(
825
+ re,
826
826
  {
827
- isOpen: t.isModalOpen,
828
- onClose: () => t.setIsModalOpen(!1),
829
- task: t.editingTask || {},
830
- onSave: t.handleModalSave,
831
- isNew: t.isNewTask
827
+ isOpen: r.isModalOpen,
828
+ onClose: () => r.setIsModalOpen(!1),
829
+ task: r.editingTask || {},
830
+ onSave: r.handleModalSave,
831
+ isNew: r.isNewTask
832
832
  }
833
833
  )
834
834
  ] }) });
835
835
  }
836
836
  export {
837
- dt as EditorialCalendar,
838
- ot as TaskCalendar
837
+ or as EditorialCalendar,
838
+ dr as TaskCalendar
839
839
  };
840
840
  //# sourceMappingURL=editorial-calendar.js.map