@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.
- package/MIGRATION-v3.md +244 -0
- package/README.md +1 -1
- package/dist/alert-theme.css +20 -79
- package/dist/components/ui/charts/donut-chart.cjs +1 -1
- package/dist/components/ui/charts/donut-chart.cjs.map +1 -1
- package/dist/components/ui/charts/donut-chart.js +39 -60
- package/dist/components/ui/charts/donut-chart.js.map +1 -1
- package/dist/components/ui/charts/kpi-card.cjs +1 -1
- package/dist/components/ui/charts/kpi-card.cjs.map +1 -1
- package/dist/components/ui/charts/kpi-card.js +19 -19
- package/dist/components/ui/charts/kpi-card.js.map +1 -1
- package/dist/components/ui/data/comment-system.cjs +1 -1
- package/dist/components/ui/data/comment-system.cjs.map +1 -1
- package/dist/components/ui/data/comment-system.js +67 -67
- package/dist/components/ui/data/comment-system.js.map +1 -1
- package/dist/components/ui/data/data-table.cjs +1 -1
- package/dist/components/ui/data/data-table.cjs.map +1 -1
- package/dist/components/ui/data/data-table.js +112 -101
- package/dist/components/ui/data/data-table.js.map +1 -1
- package/dist/components/ui/data/editorial-calendar.cjs +1 -1
- package/dist/components/ui/data/editorial-calendar.cjs.map +1 -1
- package/dist/components/ui/data/editorial-calendar.js +291 -291
- package/dist/components/ui/data/editorial-calendar.js.map +1 -1
- package/dist/components/ui/data/filter-builder.cjs +1 -1
- package/dist/components/ui/data/filter-builder.cjs.map +1 -1
- package/dist/components/ui/data/filter-builder.js +1 -1
- package/dist/components/ui/data/filter-builder.js.map +1 -1
- package/dist/components/ui/feedback/empty-state.cjs +1 -1
- package/dist/components/ui/feedback/empty-state.cjs.map +1 -1
- package/dist/components/ui/feedback/empty-state.js +14 -14
- package/dist/components/ui/feedback/empty-state.js.map +1 -1
- package/dist/components/ui/feedback/toast.cjs +1 -1
- package/dist/components/ui/feedback/toast.cjs.map +1 -1
- package/dist/components/ui/feedback/toast.js +53 -22
- package/dist/components/ui/feedback/toast.js.map +1 -1
- package/dist/components/ui/forms/calendar.cjs +1 -1
- package/dist/components/ui/forms/calendar.cjs.map +1 -1
- package/dist/components/ui/forms/calendar.js +16 -16
- package/dist/components/ui/forms/calendar.js.map +1 -1
- package/dist/components/ui/forms/combobox.cjs +1 -1
- package/dist/components/ui/forms/combobox.cjs.map +1 -1
- package/dist/components/ui/forms/combobox.js +78 -76
- package/dist/components/ui/forms/combobox.js.map +1 -1
- package/dist/components/ui/forms/file-attachment-list.cjs +1 -1
- package/dist/components/ui/forms/file-attachment-list.cjs.map +1 -1
- package/dist/components/ui/forms/file-attachment-list.js +4 -4
- package/dist/components/ui/forms/file-attachment-list.js.map +1 -1
- package/dist/components/ui/forms/file-upload-zone.cjs +2 -2
- package/dist/components/ui/forms/file-upload-zone.cjs.map +1 -1
- package/dist/components/ui/forms/file-upload-zone.js +55 -49
- package/dist/components/ui/forms/file-upload-zone.js.map +1 -1
- package/dist/components/ui/forms/form.cjs +1 -1
- package/dist/components/ui/forms/form.cjs.map +1 -1
- package/dist/components/ui/forms/form.js +11 -11
- package/dist/components/ui/forms/form.js.map +1 -1
- package/dist/components/ui/forms/input-validation.cjs +1 -1
- package/dist/components/ui/forms/input-validation.cjs.map +1 -1
- package/dist/components/ui/forms/input-validation.js +20 -20
- package/dist/components/ui/forms/input-validation.js.map +1 -1
- package/dist/components/ui/forms/multi-select.cjs +1 -1
- package/dist/components/ui/forms/multi-select.cjs.map +1 -1
- package/dist/components/ui/forms/multi-select.js +69 -67
- package/dist/components/ui/forms/multi-select.js.map +1 -1
- package/dist/components/ui/forms/radio-group.cjs +1 -1
- package/dist/components/ui/forms/radio-group.cjs.map +1 -1
- package/dist/components/ui/forms/radio-group.js +19 -19
- package/dist/components/ui/forms/radio-group.js.map +1 -1
- package/dist/components/ui/forms/social-button.cjs +1 -1
- package/dist/components/ui/forms/social-button.cjs.map +1 -1
- package/dist/components/ui/forms/social-button.js +6 -6
- package/dist/components/ui/forms/social-button.js.map +1 -1
- package/dist/components/ui/forms/toggle.cjs +1 -1
- package/dist/components/ui/forms/toggle.cjs.map +1 -1
- package/dist/components/ui/forms/toggle.js +7 -7
- package/dist/components/ui/forms/toggle.js.map +1 -1
- package/dist/components/ui/navigation/navigation-menu.cjs +1 -1
- package/dist/components/ui/navigation/navigation-menu.cjs.map +1 -1
- package/dist/components/ui/navigation/navigation-menu.js +14 -14
- package/dist/components/ui/navigation/navigation-menu.js.map +1 -1
- package/dist/components/ui/navigation/sidebar.cjs +1 -1
- package/dist/components/ui/navigation/sidebar.cjs.map +1 -1
- package/dist/components/ui/navigation/sidebar.js +44 -44
- package/dist/components/ui/navigation/sidebar.js.map +1 -1
- package/dist/components/ui/overlays/context-menu.cjs +1 -1
- package/dist/components/ui/overlays/context-menu.cjs.map +1 -1
- package/dist/components/ui/overlays/context-menu.js +1 -1
- package/dist/components/ui/overlays/context-menu.js.map +1 -1
- package/dist/components/ui/overlays/dropdown-menu.cjs +1 -1
- package/dist/components/ui/overlays/dropdown-menu.cjs.map +1 -1
- package/dist/components/ui/overlays/dropdown-menu.js +5 -5
- package/dist/components/ui/overlays/dropdown-menu.js.map +1 -1
- package/dist/components/ui/overlays/menubar.cjs +1 -1
- package/dist/components/ui/overlays/menubar.cjs.map +1 -1
- package/dist/components/ui/overlays/menubar.js +29 -29
- package/dist/components/ui/overlays/menubar.js.map +1 -1
- package/dist/components/ui/overlays/tooltip.cjs +1 -1
- package/dist/components/ui/overlays/tooltip.cjs.map +1 -1
- package/dist/components/ui/overlays/tooltip.js +12 -12
- package/dist/components/ui/overlays/tooltip.js.map +1 -1
- package/dist/components/ui/primitives/avatar.cjs +1 -1
- package/dist/components/ui/primitives/avatar.cjs.map +1 -1
- package/dist/components/ui/primitives/avatar.js +20 -27
- package/dist/components/ui/primitives/avatar.js.map +1 -1
- package/dist/components/ui/primitives/badge.cjs +1 -1
- package/dist/components/ui/primitives/badge.cjs.map +1 -1
- package/dist/components/ui/primitives/badge.js +13 -13
- package/dist/components/ui/primitives/badge.js.map +1 -1
- package/dist/components/ui/primitives/button.cjs +1 -1
- package/dist/components/ui/primitives/button.cjs.map +1 -1
- package/dist/components/ui/primitives/button.js +11 -8
- package/dist/components/ui/primitives/button.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +34 -35
- package/dist/index.js.map +1 -1
- package/dist/preset.css +1 -2
- package/dist/toast-theme.css +100 -64
- package/dist/tokens.css +59 -159
- package/package.json +5 -3
- 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
|
|
3
|
-
import { format as
|
|
4
|
-
import { PanelLeftOpen as
|
|
5
|
-
import { cn as
|
|
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
|
|
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
|
|
11
|
-
import { ScrollArea as
|
|
12
|
-
import { DndProvider as Q, useDrag as Pe, useDrop as
|
|
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:
|
|
23
|
-
other:
|
|
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-
|
|
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
|
-
},
|
|
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
|
-
],
|
|
39
|
-
const
|
|
40
|
-
return
|
|
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:
|
|
44
|
-
view:
|
|
43
|
+
task: t,
|
|
44
|
+
view: r = "month",
|
|
45
45
|
mode: s = "editorial",
|
|
46
|
-
onClick:
|
|
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:
|
|
53
|
-
collect: (
|
|
54
|
-
isDragging: !!
|
|
52
|
+
item: { id: t.id, type: C.TASK },
|
|
53
|
+
collect: (b) => ({
|
|
54
|
+
isDragging: !!b.isDragging()
|
|
55
55
|
})
|
|
56
|
-
}), [
|
|
57
|
-
return s === "editorial" && (
|
|
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:
|
|
62
|
-
className:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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:
|
|
80
|
-
|
|
81
|
-
/* @__PURE__ */ e(
|
|
82
|
-
/* @__PURE__ */ e(
|
|
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" &&
|
|
88
|
+
) : s === "editorial" && r === "month" ? /* @__PURE__ */ i(
|
|
89
89
|
"div",
|
|
90
90
|
{
|
|
91
91
|
ref: l,
|
|
92
|
-
onClick:
|
|
93
|
-
className:
|
|
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
|
-
|
|
96
|
+
t.status === "published" ? "border-l-2 border-l-foreground" : "border-l-2 border-l-primary"
|
|
97
97
|
),
|
|
98
98
|
children: [
|
|
99
|
-
|
|
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:
|
|
102
|
+
/* @__PURE__ */ e("span", { className: "truncate font-medium text-xs", children: t.title })
|
|
103
103
|
] }) })
|
|
104
104
|
]
|
|
105
105
|
}
|
|
106
|
-
) : s === "execution" && (
|
|
106
|
+
) : s === "execution" && (r === "week" || r === "day") ? /* @__PURE__ */ i(
|
|
107
107
|
"div",
|
|
108
108
|
{
|
|
109
109
|
ref: l,
|
|
110
|
-
onClick:
|
|
110
|
+
onClick: o,
|
|
111
111
|
style: c,
|
|
112
|
-
className:
|
|
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
|
-
|
|
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
|
|
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:
|
|
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 =
|
|
125
|
-
/* @__PURE__ */ e(
|
|
126
|
-
/* @__PURE__ */ e(
|
|
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
|
-
|
|
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" &&
|
|
132
|
+
) : s === "execution" && r === "month" ? /* @__PURE__ */ i(
|
|
133
133
|
"div",
|
|
134
134
|
{
|
|
135
135
|
ref: l,
|
|
136
|
-
onClick:
|
|
137
|
-
className:
|
|
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
|
-
|
|
140
|
+
t.color || R(t.id).replace("bg-", "bg-opacity-20 bg-")
|
|
141
141
|
// lighter background
|
|
142
142
|
),
|
|
143
143
|
children: [
|
|
144
|
-
|
|
144
|
+
u,
|
|
145
145
|
" ",
|
|
146
|
-
|
|
146
|
+
t.title
|
|
147
147
|
]
|
|
148
148
|
}
|
|
149
149
|
) : /* @__PURE__ */ i(
|
|
150
150
|
"div",
|
|
151
151
|
{
|
|
152
152
|
ref: l,
|
|
153
|
-
onClick:
|
|
154
|
-
className:
|
|
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" && (
|
|
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" &&
|
|
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:
|
|
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:
|
|
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:
|
|
174
|
-
tasks:
|
|
173
|
+
days: t,
|
|
174
|
+
tasks: r,
|
|
175
175
|
onDropTask: s,
|
|
176
|
-
onTaskClick:
|
|
176
|
+
onTaskClick: o,
|
|
177
177
|
onAddClick: c,
|
|
178
178
|
view: a
|
|
179
179
|
}) {
|
|
180
|
-
return /* @__PURE__ */ e("div", { className:
|
|
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:
|
|
184
|
-
const m =
|
|
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
|
-
|
|
186
|
+
_e,
|
|
187
187
|
{
|
|
188
188
|
day: l,
|
|
189
189
|
tasks: m,
|
|
190
190
|
onDropTask: s,
|
|
191
|
-
onTaskClick:
|
|
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
|
|
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,
|
|
202
|
+
drop: (n) => s(n.id, t),
|
|
203
203
|
collect: (n) => ({
|
|
204
204
|
isOver: !!n.isOver()
|
|
205
205
|
})
|
|
206
|
-
}), [
|
|
206
|
+
}), [t, s]);
|
|
207
207
|
return /* @__PURE__ */ i(
|
|
208
208
|
"div",
|
|
209
209
|
{
|
|
210
210
|
ref: m,
|
|
211
|
-
className:
|
|
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:
|
|
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:
|
|
221
|
-
/* @__PURE__ */ e("div", { className:
|
|
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:
|
|
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(
|
|
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
|
-
|
|
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: () =>
|
|
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
|
|
257
|
-
days:
|
|
258
|
-
tasks:
|
|
256
|
+
function $e({
|
|
257
|
+
days: t,
|
|
258
|
+
tasks: r,
|
|
259
259
|
onDropTask: s,
|
|
260
|
-
onTaskClick:
|
|
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:
|
|
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
|
-
|
|
272
|
-
const n =
|
|
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
|
-
|
|
274
|
+
Fe,
|
|
275
275
|
{
|
|
276
276
|
day: l,
|
|
277
277
|
tasks: n,
|
|
278
278
|
onDropTask: s,
|
|
279
|
-
onTaskClick:
|
|
279
|
+
onTaskClick: o,
|
|
280
280
|
onAddClick: c,
|
|
281
|
-
isLast: m ===
|
|
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
|
|
296
|
-
day:
|
|
297
|
-
tasks:
|
|
295
|
+
function Fe({
|
|
296
|
+
day: t,
|
|
297
|
+
tasks: r,
|
|
298
298
|
onDropTask: s,
|
|
299
|
-
onTaskClick:
|
|
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: (
|
|
307
|
-
s(
|
|
306
|
+
drop: (d) => {
|
|
307
|
+
s(d.id, t);
|
|
308
308
|
},
|
|
309
|
-
collect: (
|
|
310
|
-
isOver: !!
|
|
309
|
+
collect: (d) => ({
|
|
310
|
+
isOver: !!d.isOver()
|
|
311
311
|
})
|
|
312
|
-
}), [
|
|
312
|
+
}), [t, s]);
|
|
313
313
|
return /* @__PURE__ */ i(
|
|
314
314
|
"div",
|
|
315
315
|
{
|
|
316
316
|
ref: n,
|
|
317
|
-
className:
|
|
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
|
-
|
|
324
|
+
h(t, "EEE"),
|
|
325
325
|
" ",
|
|
326
|
-
/* @__PURE__ */ e("span", { className:
|
|
326
|
+
/* @__PURE__ */ e("span", { className: p("ml-1", A(t) && "text-primary"), children: h(t, "d") })
|
|
327
327
|
] }) }),
|
|
328
|
-
l.map((
|
|
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: `${
|
|
333
|
-
onClick: (
|
|
334
|
-
|
|
335
|
-
const g = new Date(
|
|
336
|
-
g.setHours(
|
|
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
|
-
|
|
339
|
+
d
|
|
340
340
|
)),
|
|
341
|
-
|
|
342
|
-
const
|
|
343
|
-
let v = ge(g,
|
|
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 +
|
|
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:
|
|
349
|
+
task: d,
|
|
350
350
|
view: "week",
|
|
351
351
|
mode: "execution",
|
|
352
|
-
onClick: () => d
|
|
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
|
-
|
|
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:
|
|
370
|
-
tasks:
|
|
369
|
+
days: t,
|
|
370
|
+
tasks: r,
|
|
371
371
|
currentDate: s,
|
|
372
|
-
onDropTask:
|
|
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:
|
|
378
|
-
const n =
|
|
379
|
-
(
|
|
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
|
-
|
|
382
|
+
Le,
|
|
383
383
|
{
|
|
384
384
|
date: m,
|
|
385
385
|
tasks: n,
|
|
386
|
-
isCurrentMonth:
|
|
387
|
-
onDropTask:
|
|
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
|
|
397
|
-
date:
|
|
398
|
-
tasks:
|
|
396
|
+
function Le({
|
|
397
|
+
date: t,
|
|
398
|
+
tasks: r,
|
|
399
399
|
isCurrentMonth: s,
|
|
400
|
-
onDropTask:
|
|
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: (
|
|
408
|
-
collect: (
|
|
409
|
-
isOver: !!
|
|
407
|
+
drop: (u) => o(u.id, t),
|
|
408
|
+
collect: (u) => ({
|
|
409
|
+
isOver: !!u.isOver()
|
|
410
410
|
})
|
|
411
|
-
}), [
|
|
411
|
+
}), [t, o]), d = A(t);
|
|
412
412
|
return /* @__PURE__ */ i(
|
|
413
413
|
"div",
|
|
414
414
|
{
|
|
415
415
|
ref: n,
|
|
416
|
-
className:
|
|
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
|
-
|
|
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:
|
|
424
|
+
/* @__PURE__ */ e("span", { className: p(
|
|
425
425
|
"text-sm font-medium rounded-full w-7 h-7 flex items-center justify-center",
|
|
426
|
-
|
|
427
|
-
), children:
|
|
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(
|
|
435
|
-
"aria-label": `Agendar publicação em ${
|
|
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:
|
|
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:
|
|
443
|
+
task: u,
|
|
444
444
|
view: "month",
|
|
445
445
|
mode: l,
|
|
446
|
-
onClick: () => c(
|
|
446
|
+
onClick: () => c(u)
|
|
447
447
|
},
|
|
448
|
-
|
|
448
|
+
u.id
|
|
449
449
|
)) })
|
|
450
450
|
]
|
|
451
451
|
}
|
|
452
452
|
);
|
|
453
453
|
}
|
|
454
|
-
function
|
|
455
|
-
isOpen:
|
|
456
|
-
onClose:
|
|
454
|
+
function re({
|
|
455
|
+
isOpen: t,
|
|
456
|
+
onClose: r,
|
|
457
457
|
task: s,
|
|
458
|
-
onSave:
|
|
458
|
+
onSave: o,
|
|
459
459
|
isNew: c = !1
|
|
460
460
|
}) {
|
|
461
461
|
const [a, l] = N(s || {});
|
|
462
|
-
|
|
462
|
+
W(() => {
|
|
463
463
|
l(s || {});
|
|
464
464
|
}, [s]);
|
|
465
465
|
const m = () => {
|
|
466
|
-
|
|
466
|
+
o(a), r();
|
|
467
467
|
};
|
|
468
|
-
return /* @__PURE__ */ e(Oe, { open:
|
|
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 ?
|
|
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
|
|
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 ?
|
|
508
|
+
value: a.date instanceof Date ? h(a.date, "HH:mm") : "09:00",
|
|
509
509
|
onChange: (n) => {
|
|
510
|
-
const
|
|
511
|
-
l({ ...a, date: /* @__PURE__ */ new Date(`${
|
|
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:
|
|
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
|
|
564
|
-
tasks:
|
|
565
|
-
onTaskUpdate:
|
|
563
|
+
function te({
|
|
564
|
+
tasks: t,
|
|
565
|
+
onTaskUpdate: r,
|
|
566
566
|
onTaskCreate: s,
|
|
567
|
-
defaultView:
|
|
567
|
+
defaultView: o = "month"
|
|
568
568
|
}) {
|
|
569
|
-
const [c, a] = N(/* @__PURE__ */ new Date()), [l, m] = N(
|
|
570
|
-
let
|
|
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 =
|
|
573
|
-
|
|
574
|
-
} else l === "week" ? (
|
|
575
|
-
return me({ start:
|
|
576
|
-
}, [c, l]), le =
|
|
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:
|
|
583
|
-
isModalOpen:
|
|
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" ?
|
|
591
|
+
a(l === "month" ? pe(c, 1) : l === "week" ? O(c, -7) : O(c, -1));
|
|
592
592
|
},
|
|
593
593
|
handleNext: () => {
|
|
594
|
-
a(l === "month" ?
|
|
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: (
|
|
598
|
-
const k =
|
|
597
|
+
handleDropTask: (f, x, M) => {
|
|
598
|
+
const k = t.find((D) => D.id === f);
|
|
599
599
|
if (k) {
|
|
600
|
-
let D = new Date(
|
|
600
|
+
let D = new Date(x);
|
|
601
601
|
if (l === "month" || M === "editorial")
|
|
602
602
|
if (k.date) {
|
|
603
|
-
const
|
|
604
|
-
D.setHours(
|
|
603
|
+
const $ = new Date(k.date);
|
|
604
|
+
D.setHours($.getHours(), $.getMinutes());
|
|
605
605
|
} else
|
|
606
606
|
D.setHours(9, 0);
|
|
607
|
-
const
|
|
608
|
-
|
|
607
|
+
const oe = { ...k, date: D };
|
|
608
|
+
r(oe);
|
|
609
609
|
}
|
|
610
610
|
},
|
|
611
|
-
handleTaskClick: (
|
|
612
|
-
|
|
611
|
+
handleTaskClick: (f) => {
|
|
612
|
+
b(f), T(!1), g(!0);
|
|
613
613
|
},
|
|
614
|
-
handleAddClick: (
|
|
615
|
-
const
|
|
616
|
-
|
|
617
|
-
date:
|
|
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: (
|
|
623
|
-
v ? s && s(
|
|
622
|
+
handleModalSave: (f) => {
|
|
623
|
+
v ? s && s(f) : f.id && r(f), g(!1);
|
|
624
624
|
}
|
|
625
625
|
};
|
|
626
626
|
}
|
|
627
|
-
function ae({ isOpen:
|
|
628
|
-
return
|
|
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: () =>
|
|
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:
|
|
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(
|
|
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: () =>
|
|
660
|
-
/* @__PURE__ */ e(
|
|
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:
|
|
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:
|
|
670
|
-
/* @__PURE__ */ e(w, { variant: "ghost", onClick:
|
|
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:
|
|
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
|
-
|
|
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(
|
|
686
|
-
/* @__PURE__ */ e(
|
|
687
|
-
/* @__PURE__ */ e(
|
|
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:
|
|
707
|
-
return /* @__PURE__ */ e("div", { className: "grid grid-cols-7 border-b bg-muted/50 flex-shrink-0 divide-x", children:
|
|
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
|
|
710
|
-
const
|
|
711
|
-
return /* @__PURE__ */ e(Q, { backend: X, children: /* @__PURE__ */ i("div", { className:
|
|
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:
|
|
716
|
-
setIsOpen:
|
|
717
|
-
tasks:
|
|
718
|
-
onAddClick: () =>
|
|
719
|
-
onTaskClick:
|
|
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:
|
|
728
|
-
onPrev:
|
|
729
|
-
onNext:
|
|
730
|
-
onToday:
|
|
731
|
-
onAdd: () =>
|
|
732
|
-
view:
|
|
733
|
-
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
|
-
|
|
738
|
-
/* @__PURE__ */ e("div", { className: "flex-1 overflow-hidden flex flex-col relative", children:
|
|
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:
|
|
742
|
-
tasks:
|
|
743
|
-
currentDate:
|
|
744
|
-
onDropTask: (s,
|
|
745
|
-
onTaskClick:
|
|
746
|
-
onAddClick:
|
|
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:
|
|
753
|
-
tasks:
|
|
754
|
-
onDropTask: (s,
|
|
755
|
-
onTaskClick:
|
|
756
|
-
onAddClick:
|
|
757
|
-
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
|
-
|
|
762
|
-
|
|
761
|
+
r.isModalOpen && /* @__PURE__ */ e(
|
|
762
|
+
re,
|
|
763
763
|
{
|
|
764
|
-
isOpen:
|
|
765
|
-
onClose: () =>
|
|
766
|
-
task:
|
|
767
|
-
onSave:
|
|
768
|
-
isNew:
|
|
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
|
|
774
|
-
const
|
|
775
|
-
return /* @__PURE__ */ e(Q, { backend: X, children: /* @__PURE__ */ i("div", { className:
|
|
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:
|
|
780
|
-
setIsOpen:
|
|
781
|
-
tasks:
|
|
782
|
-
onAddClick: () =>
|
|
783
|
-
onTaskClick:
|
|
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:
|
|
792
|
-
onPrev:
|
|
793
|
-
onNext:
|
|
794
|
-
onToday:
|
|
795
|
-
onAdd: () =>
|
|
796
|
-
view:
|
|
797
|
-
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
|
-
|
|
802
|
-
/* @__PURE__ */ e("div", { className: "flex-1 overflow-hidden flex flex-col relative", children:
|
|
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:
|
|
806
|
-
tasks:
|
|
807
|
-
currentDate:
|
|
808
|
-
onDropTask: (s,
|
|
809
|
-
onTaskClick:
|
|
810
|
-
onAddClick:
|
|
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
|
-
|
|
814
|
+
$e,
|
|
815
815
|
{
|
|
816
|
-
days:
|
|
817
|
-
tasks:
|
|
818
|
-
onDropTask: (s,
|
|
819
|
-
onTaskClick:
|
|
820
|
-
onAddClick:
|
|
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
|
-
|
|
825
|
-
|
|
824
|
+
r.isModalOpen && /* @__PURE__ */ e(
|
|
825
|
+
re,
|
|
826
826
|
{
|
|
827
|
-
isOpen:
|
|
828
|
-
onClose: () =>
|
|
829
|
-
task:
|
|
830
|
-
onSave:
|
|
831
|
-
isNew:
|
|
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
|
-
|
|
838
|
-
|
|
837
|
+
or as EditorialCalendar,
|
|
838
|
+
dr as TaskCalendar
|
|
839
839
|
};
|
|
840
840
|
//# sourceMappingURL=editorial-calendar.js.map
|