@mlw-packages/react-components 1.10.0 → 1.10.1

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/dist/index.js CHANGED
@@ -9022,8 +9022,40 @@ var StartHourAgenda = 0;
9022
9022
  var EndHourAgenda = 24;
9023
9023
  var DefaultStartHourAgenda = 9;
9024
9024
  var DefaultEndHourAgenda = 10;
9025
- function getEventColorClassesAgenda(color) {
9026
- const eventColor = color || "sky";
9025
+ function getAutoColorAgenda(id) {
9026
+ const colors2 = [
9027
+ "sky",
9028
+ "amber",
9029
+ "violet",
9030
+ "rose",
9031
+ "emerald",
9032
+ "orange",
9033
+ "green",
9034
+ "blue",
9035
+ "red",
9036
+ "purple",
9037
+ "indigo",
9038
+ "teal",
9039
+ "pink",
9040
+ "cyan",
9041
+ "lime",
9042
+ "fuchsia"
9043
+ ];
9044
+ let hash = 0;
9045
+ for (let i = 0; i < id.length; i++) {
9046
+ hash = id.charCodeAt(i) + ((hash << 5) - hash);
9047
+ }
9048
+ const index = Math.abs(hash) % colors2.length;
9049
+ return colors2[index];
9050
+ }
9051
+ function getEventColorClassesAgenda(color, eventId) {
9052
+ let eventColor = color;
9053
+ if (!eventColor && eventId) {
9054
+ eventColor = getAutoColorAgenda(eventId);
9055
+ }
9056
+ if (!eventColor) {
9057
+ eventColor = "sky";
9058
+ }
9027
9059
  switch (eventColor) {
9028
9060
  case "sky":
9029
9061
  return "bg-sky-100 hover:bg-sky-200/80 text-sky-900 border border-sky-200/70 dark:bg-sky-500/25 dark:hover:bg-sky-500/35 dark:text-sky-50 dark:border-sky-400/30 transition-colors duration-150";
@@ -9168,6 +9200,28 @@ function addMinutesToDateAgenda(date, minutes) {
9168
9200
  function addHoursToDateAgenda(date, hours) {
9169
9201
  return addMinutesToDateAgenda(date, Math.round(hours * 60));
9170
9202
  }
9203
+ function formatDurationAgenda(event) {
9204
+ const start = getEventStartDate(event);
9205
+ const end = getEventEndDate(event);
9206
+ if (!start) return "";
9207
+ const fmt = (d) => dateFns.format(d, "d 'de' MMM", { locale: locale.ptBR });
9208
+ if (!end || dateFns.isSameDay(start, end)) {
9209
+ return fmt(start) + (event.allDay ? " \xB7 Dia todo" : " \xB7 " + dateFns.format(start, "HH:mm"));
9210
+ }
9211
+ const days = dateFns.differenceInCalendarDays(end, start) + 1;
9212
+ return `${fmt(start)} \u2192 ${fmt(end)} \xB7 ${days} dias`;
9213
+ }
9214
+ function formatDurationAgendaDays(event) {
9215
+ const start = getEventStartDate(event);
9216
+ const end = getEventEndDate(event);
9217
+ if (!start) return "";
9218
+ const fmt = (d) => dateFns.format(d, "d 'de' MMM", { locale: locale.ptBR });
9219
+ if (!end || dateFns.isSameDay(start, end)) {
9220
+ return fmt(start) + (event.allDay ? " \xB7 Dia todo" : " \xB7 " + dateFns.format(start, "HH:mm"));
9221
+ }
9222
+ const days = dateFns.differenceInCalendarDays(end, start) + 1;
9223
+ return `${days} dias`;
9224
+ }
9171
9225
  function useCurrentTimeIndicatorAgenda(currentDate, view) {
9172
9226
  const [currentTimePosition, setCurrentTimePosition] = React32.useState(0);
9173
9227
  const [currentTimeVisible, setCurrentTimeVisible] = React32.useState(false);
@@ -9236,7 +9290,7 @@ function EventWrapper({
9236
9290
  return void 0;
9237
9291
  })();
9238
9292
  const isEventInPast = displayEnd ? dateFns.isPast(displayEnd) : false;
9239
- const colorClasses = hasValidTimeForWrapper ? getEventColorClassesAgenda(event.color) : "bg-gray-200/50 hover:bg-gray-200/40 text-gray-900/80 dark:bg-gray-700/25 dark:text-gray-200/90 shadow-none ";
9293
+ const colorClasses = hasValidTimeForWrapper ? getEventColorClassesAgenda(event.color, event.id) : "bg-gray-200/50 hover:bg-gray-200/40 text-gray-900/80 dark:bg-gray-700/25 dark:text-gray-200/90 shadow-none ";
9240
9294
  return /* @__PURE__ */ jsxRuntime.jsx(
9241
9295
  "button",
9242
9296
  {
@@ -9281,7 +9335,7 @@ function EventItemAgenda({
9281
9335
  const startDate = getEventStartDate(event);
9282
9336
  const endDate = getEventEndDate(event);
9283
9337
  const hasValidTime = !!startDate || !!endDate;
9284
- const colorClasses = hasValidTime ? getEventColorClassesAgenda(eventColor) : "bg-gray-200/50 hover:bg-gray-200/40 text-gray-900/80 dark:bg-gray-700/25 dark:text-gray-200/90 shadow-none";
9338
+ const colorClasses = hasValidTime ? getEventColorClassesAgenda(eventColor, event.id) : "bg-gray-200/50 hover:bg-gray-200/40 text-gray-900/80 dark:bg-gray-700/25 dark:text-gray-200/90 shadow-none";
9285
9339
  const displayStart = React32.useMemo(() => {
9286
9340
  if (!hasValidTime) return void 0;
9287
9341
  if (startDate) return currentTime || startDate;
@@ -9441,7 +9495,7 @@ function EventItemAgenda({
9441
9495
  {
9442
9496
  className: cn(
9443
9497
  "flex w-full flex-col gap-2 rounded-lg p-3 text-left outline-none transition-shadow duration-150 ease-out hover:bg-white/3 focus-visible:ring-2 focus-visible:ring-ring/50 focus-visible:border-ring data-past-event:line-through data-past-event:opacity-90 border-2 border-border",
9444
- getEventColorClassesAgenda(eventColor),
9498
+ getEventColorClassesAgenda(eventColor, event.id),
9445
9499
  className
9446
9500
  ),
9447
9501
  "aria-label": ariaLabel,
@@ -9694,14 +9748,31 @@ function DayViewAgenda({
9694
9748
  const isFirstDay = eventStart ? dateFns.isSameDay(currentDate, eventStart) : false;
9695
9749
  const isLastDay = eventEnd ? dateFns.isSameDay(currentDate, eventEnd) : false;
9696
9750
  return /* @__PURE__ */ jsxRuntime.jsx(
9697
- EventItemAgenda,
9751
+ TooltipProviderBase,
9698
9752
  {
9699
- event,
9700
- isFirstDay,
9701
- isLastDay,
9702
- onClick: (e) => handleEventClick(event, e),
9703
- view: "month",
9704
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { children: event.title })
9753
+ delayDuration: 400,
9754
+ children: /* @__PURE__ */ jsxRuntime.jsxs(TooltipBase, { children: [
9755
+ /* @__PURE__ */ jsxRuntime.jsx(TooltipTriggerBase, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full", children: /* @__PURE__ */ jsxRuntime.jsx(
9756
+ EventItemAgenda,
9757
+ {
9758
+ event,
9759
+ isFirstDay,
9760
+ isLastDay,
9761
+ onClick: (e) => handleEventClick(event, e),
9762
+ view: "month",
9763
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { children: event.title })
9764
+ }
9765
+ ) }) }),
9766
+ /* @__PURE__ */ jsxRuntime.jsxs(TooltipContentBase, { side: "top", children: [
9767
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold truncate max-w-[200px]", children: event.title }),
9768
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "opacity-80 mt-0.5 leading-snug", children: formatDurationAgenda(event) }),
9769
+ event.location && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "opacity-60 mt-0.5 truncate text-[11px] max-w-[200px] flex items-center gap-1", children: [
9770
+ /* @__PURE__ */ jsxRuntime.jsx(react.MapPinIcon, { size: 14 }),
9771
+ " ",
9772
+ event.location
9773
+ ] })
9774
+ ] })
9775
+ ] })
9705
9776
  },
9706
9777
  `spanning-${event.id}`
9707
9778
  );
@@ -9734,17 +9805,37 @@ function DayViewAgenda({
9734
9805
  width: `${positionedEvent.width * 100}%`,
9735
9806
  zIndex: positionedEvent.zIndex
9736
9807
  },
9737
- children: /* @__PURE__ */ jsxRuntime.jsx(
9738
- EventItemAgenda,
9739
- {
9740
- event: evt,
9741
- view: "day",
9742
- isFirstDay,
9743
- isLastDay,
9744
- onClick: (e) => handleEventClick(evt, e),
9745
- showTime: true
9746
- }
9747
- )
9808
+ children: /* @__PURE__ */ jsxRuntime.jsx(TooltipProviderBase, { delayDuration: 400, children: /* @__PURE__ */ jsxRuntime.jsxs(TooltipBase, { children: [
9809
+ /* @__PURE__ */ jsxRuntime.jsx(TooltipTriggerBase, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-full", children: /* @__PURE__ */ jsxRuntime.jsx(
9810
+ EventItemAgenda,
9811
+ {
9812
+ event: evt,
9813
+ view: "day",
9814
+ isFirstDay,
9815
+ isLastDay,
9816
+ onClick: (e) => handleEventClick(evt, e),
9817
+ showTime: true
9818
+ }
9819
+ ) }) }),
9820
+ /* @__PURE__ */ jsxRuntime.jsxs(
9821
+ TooltipContentBase,
9822
+ {
9823
+ side: "top",
9824
+ sideOffset: 6,
9825
+ className: "max-w-[220px] space-y-0.5",
9826
+ children: [
9827
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold text-sm leading-snug", children: evt.title }),
9828
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs opacity-90", children: formatDurationAgenda(evt) }),
9829
+ evt.location && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs flex items-center gap-2", children: [
9830
+ /* @__PURE__ */ jsxRuntime.jsx(react.MapPinIcon, { size: 15 }),
9831
+ " ",
9832
+ evt.location
9833
+ ] }),
9834
+ evt.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs opacity-75 line-clamp-2", children: evt.description })
9835
+ ]
9836
+ }
9837
+ )
9838
+ ] }) })
9748
9839
  },
9749
9840
  positionedEvent.event.id
9750
9841
  );
@@ -10369,17 +10460,6 @@ function computeMultiDayBars(events, weekDays) {
10369
10460
  }
10370
10461
  return bars;
10371
10462
  }
10372
- function formatDuration(event) {
10373
- const start = getEventStartDate(event);
10374
- const end = getEventEndDate(event);
10375
- if (!start) return "";
10376
- const fmt = (d) => dateFns.format(d, "d 'de' MMM", { locale: locale.ptBR });
10377
- if (!end || dateFns.isSameDay(start, end)) {
10378
- return fmt(start) + (event.allDay ? " \xB7 Dia todo" : " \xB7 " + dateFns.format(start, "HH:mm"));
10379
- }
10380
- const days = dateFns.differenceInCalendarDays(end, start) + 1;
10381
- return `${fmt(start)} \u2192 ${fmt(end)} \xB7 ${days} dias`;
10382
- }
10383
10463
  function MultiDayOverlay({
10384
10464
  bars,
10385
10465
  weekIndex,
@@ -10402,7 +10482,7 @@ function MultiDayOverlay({
10402
10482
  /* @__PURE__ */ jsxRuntime.jsx(TooltipTriggerBase, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
10403
10483
  "div",
10404
10484
  {
10405
- className: "absolute pointer-events-auto px-1.5",
10485
+ className: "absolute pointer-events-auto px-[5px]",
10406
10486
  style: {
10407
10487
  left: continuesFromPrev ? `${colStart / 7 * 100}%` : `calc(${colStart / 7 * 100}% + 3px)`,
10408
10488
  right: continuesToNext ? `${100 - (colStart + colSpan) / 7 * 100}%` : `calc(${100 - (colStart + colSpan) / 7 * 100}% + 3px)`,
@@ -10422,7 +10502,10 @@ function MultiDayOverlay({
10422
10502
  onEventSelect(event, e);
10423
10503
  },
10424
10504
  view: "month",
10425
- className: cn("w-full", isHovered && "[filter:brightness(0.92)]"),
10505
+ className: cn(
10506
+ "w-full",
10507
+ isHovered && "[filter:brightness(0.92)]"
10508
+ ),
10426
10509
  children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-0.5 w-full min-w-0", children: [
10427
10510
  continuesFromPrev && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 opacity-50 leading-none mr-0.5 flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx(react.CaretLeftIcon, { size: 10, weight: "bold" }) }),
10428
10511
  !event.allDay && isFirstDay && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 font-normal opacity-75 text-[10px] bg-white/15 px-1 py-0.5 rounded-full leading-none", children: dateFns.format(eventStart, "HH:mm") }),
@@ -10446,7 +10529,7 @@ function MultiDayOverlay({
10446
10529
  ) }),
10447
10530
  /* @__PURE__ */ jsxRuntime.jsxs(TooltipContentBase, { side: "top", children: [
10448
10531
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold truncate max-w-[200px]", children: event.title }),
10449
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "opacity-80 mt-0.5 leading-snug", children: formatDuration(event) }),
10532
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "opacity-80 mt-0.5 leading-snug", children: formatDurationAgenda(event) }),
10450
10533
  event.location && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "opacity-60 mt-0.5 truncate text-[11px] max-w-[200px]", children: [
10451
10534
  /* @__PURE__ */ jsxRuntime.jsx(react.MapPinIcon, { size: 15 }),
10452
10535
  " ",
@@ -10644,20 +10727,31 @@ function MonthViewAgenda({
10644
10727
  {
10645
10728
  "aria-hidden": isHidden ? "true" : void 0,
10646
10729
  className: "aria-hidden:hidden",
10647
- children: /* @__PURE__ */ jsxRuntime.jsx(
10648
- EventItemAgenda,
10649
- {
10650
- event,
10651
- isFirstDay: true,
10652
- isLastDay: true,
10653
- onClick: (e) => handleEventClick(event, e),
10654
- view: "month",
10655
- children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1 sm:gap-1.5 truncate text-[11px] relative z-10", children: [
10656
- !event.allDay && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-normal opacity-80 text-[10px] sm:text-[11px] bg-white/10 px-1 py-0.5 rounded-full", children: dateFns.format(eventStart, "HH:mm") }),
10657
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold truncate", children: event.title })
10730
+ children: /* @__PURE__ */ jsxRuntime.jsx(TooltipProviderBase, { delayDuration: 400, children: /* @__PURE__ */ jsxRuntime.jsxs(TooltipBase, { children: [
10731
+ /* @__PURE__ */ jsxRuntime.jsx(TooltipTriggerBase, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full", children: /* @__PURE__ */ jsxRuntime.jsx(
10732
+ EventItemAgenda,
10733
+ {
10734
+ event,
10735
+ isFirstDay: true,
10736
+ isLastDay: true,
10737
+ onClick: (e) => handleEventClick(event, e),
10738
+ view: "month",
10739
+ children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1 sm:gap-1.5 truncate text-[11px] relative z-10", children: [
10740
+ !event.allDay && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-normal opacity-80 text-[10px] sm:text-[11px] bg-white/10 px-1 py-0.5 rounded-full", children: dateFns.format(eventStart, "HH:mm") }),
10741
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold truncate", children: event.title })
10742
+ ] })
10743
+ }
10744
+ ) }) }),
10745
+ /* @__PURE__ */ jsxRuntime.jsxs(TooltipContentBase, { side: "top", children: [
10746
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold truncate max-w-[200px]", children: event.title }),
10747
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "opacity-80 mt-0.5 leading-snug", children: formatDurationAgenda(event) }),
10748
+ event.location && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "opacity-60 mt-0.5 truncate text-[11px] max-w-[200px] flex items-center gap-1", children: [
10749
+ /* @__PURE__ */ jsxRuntime.jsx(react.MapPinIcon, { size: 14 }),
10750
+ " ",
10751
+ event.location
10658
10752
  ] })
10659
- }
10660
- )
10753
+ ] })
10754
+ ] }) })
10661
10755
  },
10662
10756
  event.id
10663
10757
  );
@@ -11061,38 +11155,48 @@ function WeekViewAgenda({
11061
11155
  slot
11062
11156
  } = bar;
11063
11157
  const showTitle = isFirstDay || !isFirstDay && colStart === 0;
11064
- return /* @__PURE__ */ jsxRuntime.jsx(
11065
- "div",
11066
- {
11067
- className: "absolute px-0.5",
11068
- style: {
11069
- left: `calc(${colStart / 7 * 100}% + 2px)`,
11070
- width: `calc(${colSpan / 7 * 100}% - 4px)`,
11071
- top: EventGapAgenda + slot * rowH,
11072
- height: EventHeightAgenda
11073
- },
11074
- children: /* @__PURE__ */ jsxRuntime.jsx(
11075
- EventItemAgenda,
11076
- {
11077
- event,
11078
- isFirstDay,
11079
- isLastDay,
11080
- onClick: (e) => {
11081
- e.stopPropagation();
11082
- handleEventClick(event, e);
11083
- },
11084
- view: "month",
11085
- className: "h-full",
11086
- children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1 min-w-0 w-full", children: [
11087
- !isFirstDay && colStart === 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-[11px] font-bold opacity-60", children: /* @__PURE__ */ jsxRuntime.jsx(ssr.CaretLeftIcon, {}) }),
11088
- showTitle && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-xs font-medium", children: event.title }),
11089
- !isLastDay && colStart + colSpan === 7 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 ml-auto text-[11px] font-bold opacity-60", children: /* @__PURE__ */ jsxRuntime.jsx(ssr.CaretRightIcon, {}) })
11090
- ] })
11091
- }
11092
- )
11093
- },
11094
- event.id
11095
- );
11158
+ return /* @__PURE__ */ jsxRuntime.jsx(TooltipProviderBase, { delayDuration: 400, children: /* @__PURE__ */ jsxRuntime.jsxs(TooltipBase, { children: [
11159
+ /* @__PURE__ */ jsxRuntime.jsx(TooltipTriggerBase, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
11160
+ "div",
11161
+ {
11162
+ className: "absolute px-0.5",
11163
+ style: {
11164
+ left: `calc(${colStart / 7 * 100}% + 2px)`,
11165
+ width: `calc(${colSpan / 7 * 100}% - 4px)`,
11166
+ top: EventGapAgenda + slot * rowH,
11167
+ height: EventHeightAgenda
11168
+ },
11169
+ children: /* @__PURE__ */ jsxRuntime.jsx(
11170
+ EventItemAgenda,
11171
+ {
11172
+ event,
11173
+ isFirstDay,
11174
+ isLastDay,
11175
+ onClick: (e) => {
11176
+ e.stopPropagation();
11177
+ handleEventClick(event, e);
11178
+ },
11179
+ view: "month",
11180
+ className: "h-full",
11181
+ children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1 min-w-0 w-full", children: [
11182
+ !isFirstDay && colStart === 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-[11px] font-bold opacity-60", children: /* @__PURE__ */ jsxRuntime.jsx(ssr.CaretLeftIcon, {}) }),
11183
+ showTitle && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-xs font-medium", children: event.title }),
11184
+ !isLastDay && colStart + colSpan === 7 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 ml-auto text-[11px] font-bold opacity-60", children: /* @__PURE__ */ jsxRuntime.jsx(ssr.CaretRightIcon, {}) })
11185
+ ] })
11186
+ }
11187
+ )
11188
+ }
11189
+ ) }),
11190
+ /* @__PURE__ */ jsxRuntime.jsxs(TooltipContentBase, { side: "top", children: [
11191
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold truncate max-w-[200px]", children: event.title }),
11192
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "opacity-80 mt-0.5 leading-snug", children: formatDurationAgenda(event) }),
11193
+ event.location && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "opacity-60 mt-0.5 truncate text-[11px] max-w-[200px] flex items-center gap-1", children: [
11194
+ /* @__PURE__ */ jsxRuntime.jsx(ssr.MapPinIcon, { size: 14 }),
11195
+ " ",
11196
+ event.location
11197
+ ] })
11198
+ ] })
11199
+ ] }) }, event.id);
11096
11200
  })
11097
11201
  ]
11098
11202
  }
@@ -11132,54 +11236,64 @@ function WeekViewAgenda({
11132
11236
  } = bar;
11133
11237
  const eventStart = getEventStartDate(event) ?? /* @__PURE__ */ new Date();
11134
11238
  const showTitle = isFirstDay || !isFirstDay && colStart === 0;
11135
- return /* @__PURE__ */ jsxRuntime.jsx(
11136
- "div",
11137
- {
11138
- className: "absolute px-0.5",
11139
- style: {
11140
- left: `calc(${colStart / 7 * 100}% + 2px)`,
11141
- width: `calc(${colSpan / 7 * 100}% - 4px)`,
11142
- top: EventGapAgenda + slot * rowH,
11143
- height: EventHeightAgenda
11144
- },
11145
- children: /* @__PURE__ */ jsxRuntime.jsx(
11146
- EventItemAgenda,
11147
- {
11148
- event,
11149
- isFirstDay,
11150
- isLastDay,
11151
- onClick: (e) => {
11152
- e.stopPropagation();
11153
- handleEventClick(event, e);
11154
- },
11155
- view: "month",
11156
- className: "h-full border-dashed",
11157
- children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1 min-w-0 w-full", children: [
11158
- !isFirstDay && colStart === 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-[11px] font-bold opacity-60", children: /* @__PURE__ */ jsxRuntime.jsx(ssr.CaretLeftIcon, {}) }),
11159
- showTitle && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
11160
- isFirstDay && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-normal opacity-80 text-[10px] sm:text-[11px] bg-white/10 px-1 py-0.5 rounded-full", children: dateFns.format(eventStart, "HH:mm") }),
11161
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-xs font-medium", children: event.title }),
11162
- isFirstDay && (() => {
11163
- const evStart = getEventStartDate(event);
11164
- const evEnd = getEventEndDate(event);
11165
- if (!evStart || !evEnd) return null;
11166
- const d = Math.round(
11167
- (evEnd.getTime() - evStart.getTime()) / 864e5
11168
- ) + 1;
11169
- if (d < 2) return null;
11170
- return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "shrink-0 inline-flex items-end font-bold leading-none px-1 py-0.5 text-[10px]", children: [
11171
- d,
11172
- "d"
11173
- ] });
11174
- })()
11175
- ] }),
11176
- !isLastDay && colStart + colSpan === 7 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 ml-auto text-[11px] font-bold opacity-60", children: /* @__PURE__ */ jsxRuntime.jsx(ssr.CaretRightIcon, {}) })
11177
- ] })
11178
- }
11179
- )
11180
- },
11181
- event.id
11182
- );
11239
+ return /* @__PURE__ */ jsxRuntime.jsx(TooltipProviderBase, { delayDuration: 400, children: /* @__PURE__ */ jsxRuntime.jsxs(TooltipBase, { children: [
11240
+ /* @__PURE__ */ jsxRuntime.jsx(TooltipTriggerBase, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
11241
+ "div",
11242
+ {
11243
+ className: "absolute px-0.5",
11244
+ style: {
11245
+ left: `calc(${colStart / 7 * 100}% + 2px)`,
11246
+ width: `calc(${colSpan / 7 * 100}% - 4px)`,
11247
+ top: EventGapAgenda + slot * rowH,
11248
+ height: EventHeightAgenda
11249
+ },
11250
+ children: /* @__PURE__ */ jsxRuntime.jsx(
11251
+ EventItemAgenda,
11252
+ {
11253
+ event,
11254
+ isFirstDay,
11255
+ isLastDay,
11256
+ onClick: (e) => {
11257
+ e.stopPropagation();
11258
+ handleEventClick(event, e);
11259
+ },
11260
+ view: "month",
11261
+ className: "h-full border-dashed",
11262
+ children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1 min-w-0 w-full", children: [
11263
+ !isFirstDay && colStart === 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-[11px] font-bold opacity-60", children: /* @__PURE__ */ jsxRuntime.jsx(ssr.CaretLeftIcon, {}) }),
11264
+ showTitle && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
11265
+ isFirstDay && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-normal opacity-80 text-[10px] sm:text-[11px] bg-white/10 px-1 py-0.5 rounded-full", children: dateFns.format(eventStart, "HH:mm") }),
11266
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-xs font-medium", children: event.title }),
11267
+ isFirstDay && (() => {
11268
+ const evStart = getEventStartDate(event);
11269
+ const evEnd = getEventEndDate(event);
11270
+ if (!evStart || !evEnd) return null;
11271
+ const d = Math.round(
11272
+ (evEnd.getTime() - evStart.getTime()) / 864e5
11273
+ ) + 1;
11274
+ if (d < 2) return null;
11275
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "shrink-0 inline-flex items-end font-bold leading-none px-1 py-0.5 text-[10px]", children: [
11276
+ d,
11277
+ "d"
11278
+ ] });
11279
+ })()
11280
+ ] }),
11281
+ !isLastDay && colStart + colSpan === 7 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 ml-auto text-[11px] font-bold opacity-60", children: /* @__PURE__ */ jsxRuntime.jsx(ssr.CaretRightIcon, {}) })
11282
+ ] })
11283
+ }
11284
+ )
11285
+ }
11286
+ ) }),
11287
+ /* @__PURE__ */ jsxRuntime.jsxs(TooltipContentBase, { side: "top", children: [
11288
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold truncate max-w-[200px]", children: event.title }),
11289
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "opacity-80 mt-0.5 leading-snug", children: formatDurationAgenda(event) }),
11290
+ event.location && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "opacity-60 mt-0.5 truncate text-[11px] max-w-[200px] flex items-center gap-1", children: [
11291
+ /* @__PURE__ */ jsxRuntime.jsx(ssr.MapPinIcon, { size: 14 }),
11292
+ " ",
11293
+ event.location
11294
+ ] })
11295
+ ] })
11296
+ ] }) }, event.id);
11183
11297
  })
11184
11298
  ]
11185
11299
  }
@@ -11204,9 +11318,7 @@ function WeekViewAgenda({
11204
11318
  "data-today": dateFns.isToday(day) || void 0,
11205
11319
  children: [
11206
11320
  (processedDayEvents[dayIndex] ?? []).map((positionedEvent) => {
11207
- const evStart = getEventStartDate(positionedEvent.event);
11208
- const evEnd = getEventEndDate(positionedEvent.event);
11209
- const timeLabel = evStart ? evEnd ? `${dateFns.format(evStart, "HH:mm")} \u2013 ${dateFns.format(evEnd, "HH:mm")}` : dateFns.format(evStart, "HH:mm") : void 0;
11321
+ const timeLabel = formatDurationAgenda(positionedEvent.event);
11210
11322
  return /* @__PURE__ */ jsxRuntime.jsx(TooltipProviderBase, { children: /* @__PURE__ */ jsxRuntime.jsxs(TooltipBase, { delayDuration: 250, children: [
11211
11323
  /* @__PURE__ */ jsxRuntime.jsx(
11212
11324
  "div",
@@ -11242,7 +11354,7 @@ function WeekViewAgenda({
11242
11354
  className: "max-w-[220px] space-y-0.5",
11243
11355
  children: [
11244
11356
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold text-sm leading-snug", children: positionedEvent.event.title }),
11245
- timeLabel && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs opacity-90", children: timeLabel }),
11357
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs opacity-90", children: timeLabel }),
11246
11358
  positionedEvent.event.location && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs flex items-center gap-2", children: [
11247
11359
  /* @__PURE__ */ jsxRuntime.jsx(ssr.MapPinIcon, { size: 15 }),
11248
11360
  " ",
@@ -11318,24 +11430,24 @@ function WeekViewAgenda({
11318
11430
  ] });
11319
11431
  }
11320
11432
  var colorBannerMap = {
11321
- sky: "from-sky-400 to-sky-500",
11322
- amber: "from-amber-400 to-amber-500",
11323
- violet: "from-violet-400 to-violet-500",
11324
- rose: "from-rose-400 to-rose-500",
11325
- emerald: "from-emerald-400 to-emerald-500",
11326
- orange: "from-orange-400 to-orange-500",
11327
- green: "from-green-400 to-green-500",
11328
- blue: "from-blue-400 to-blue-500",
11329
- red: "from-red-400 to-red-500",
11330
- purple: "from-purple-400 to-purple-500",
11331
- indigo: "from-indigo-400 to-indigo-500",
11332
- teal: "from-teal-400 to-teal-500",
11333
- pink: "from-pink-400 to-pink-500",
11334
- cyan: "from-cyan-400 to-cyan-500",
11335
- lime: "from-lime-400 to-lime-500",
11336
- fuchsia: "from-fuchsia-400 to-fuchsia-500"
11433
+ sky: "from-sky-400 via-sky-500 to-cyan-500",
11434
+ amber: "from-amber-400 via-amber-500 to-orange-400",
11435
+ violet: "from-violet-400 via-violet-500 to-purple-600",
11436
+ rose: "from-rose-400 via-rose-500 to-pink-500",
11437
+ emerald: "from-emerald-400 via-emerald-500 to-teal-500",
11438
+ orange: "from-orange-400 via-orange-500 to-amber-500",
11439
+ green: "from-green-400 via-green-500 to-emerald-500",
11440
+ blue: "from-blue-400 via-blue-500 to-indigo-500",
11441
+ red: "from-red-400 via-red-500 to-rose-500",
11442
+ purple: "from-purple-400 via-purple-500 to-violet-600",
11443
+ indigo: "from-indigo-400 via-indigo-500 to-blue-600",
11444
+ teal: "from-teal-400 via-teal-500 to-cyan-500",
11445
+ pink: "from-pink-400 via-pink-500 to-rose-400",
11446
+ cyan: "from-cyan-400 via-cyan-500 to-sky-500",
11447
+ lime: "from-lime-400 via-lime-500 to-green-500",
11448
+ fuchsia: "from-fuchsia-400 via-fuchsia-500 to-purple-500"
11337
11449
  };
11338
- function formatDuration2(minutes) {
11450
+ function formatDuration(minutes) {
11339
11451
  if (minutes <= 0) return "";
11340
11452
  const h = Math.floor(minutes / 60);
11341
11453
  const m = minutes % 60;
@@ -11355,7 +11467,7 @@ function EventDetailModalAgenda({
11355
11467
  }) {
11356
11468
  const [open, setOpen] = React32.useState(true);
11357
11469
  if (!event) return null;
11358
- const color = event.color ?? "sky";
11470
+ const color = event.color ?? getAutoColorAgenda(event.id);
11359
11471
  const bannerGradient = colorBannerMap[color] ?? colorBannerMap.sky;
11360
11472
  const startDate = getEventStartDate(event);
11361
11473
  const endDate = getEventEndDate(event);
@@ -11400,83 +11512,60 @@ function EventDetailModalAgenda({
11400
11512
  setOpen(v);
11401
11513
  if (!v) onClose?.();
11402
11514
  },
11403
- children: /* @__PURE__ */ jsxRuntime.jsxs(DialogContentBase, { className: "p-0 overflow-hidden gap-0 border-none shadow-xl sm:max-w-md", children: [
11515
+ children: /* @__PURE__ */ jsxRuntime.jsxs(DialogContentBase, { className: "p-0 overflow-hidden gap-0 border-none shadow-2xl sm:max-w-md rounded-2xl", children: [
11404
11516
  /* @__PURE__ */ jsxRuntime.jsxs(
11405
11517
  "div",
11406
11518
  {
11407
11519
  className: cn(
11408
- "relative bg-gradient-to-tl w-full flex flex-col justify-end px-6 pt-12 pb-8 select-none transition-all duration-300",
11520
+ "relative bg-gradient-to-br w-full flex flex-col justify-end px-7 pt-14 pb-7 select-none overflow-hidden",
11409
11521
  bannerGradient
11410
11522
  ),
11411
11523
  children: [
11412
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-4 left-6 flex items-center gap-2", children: dateSection.isAllDay ? /* @__PURE__ */ jsxRuntime.jsxs(Badge, { className: "bg-white/20 text-white backdrop-blur-md", children: [
11413
- /* @__PURE__ */ jsxRuntime.jsx(react.SunIcon, { size: 12, weight: "bold" }),
11524
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-0 bg-gradient-to-br from-white/20 via-transparent to-black/10" }),
11525
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-4 left-5 flex items-center gap-2 z-10", children: dateSection.isAllDay ? /* @__PURE__ */ jsxRuntime.jsxs(Badge, { className: "bg-black/20 text-white border border-white/20 backdrop-blur-sm shadow-none gap-1 text-[11px] font-medium", children: [
11526
+ /* @__PURE__ */ jsxRuntime.jsx(react.SunIcon, { size: 11, weight: "bold" }),
11414
11527
  "Dia todo"
11415
- ] }) : isMultiDay ? /* @__PURE__ */ jsxRuntime.jsxs(Badge, { className: "bg-white/20 text-white backdrop-blur-md", children: [
11416
- /* @__PURE__ */ jsxRuntime.jsx(react.CalendarDotsIcon, { size: 12, weight: "bold" }),
11417
- "Multi-dia"
11418
- ] }) : durationMinutes > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(Badge, { className: "bg-white/20 text-white backdrop-blur-md", children: [
11419
- /* @__PURE__ */ jsxRuntime.jsx(react.ClockIcon, { size: 12, weight: "bold" }),
11420
- formatDuration2(durationMinutes)
11528
+ ] }) : isMultiDay ? /* @__PURE__ */ jsxRuntime.jsxs(Badge, { className: "bg-black/20 text-white border border-white/20 backdrop-blur-sm shadow-none gap-1 text-[11px] font-medium", children: [
11529
+ /* @__PURE__ */ jsxRuntime.jsx(react.CalendarDotsIcon, { size: 11, weight: "bold" }),
11530
+ formatDurationAgendaDays(event)
11531
+ ] }) : durationMinutes > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(Badge, { className: "bg-black/20 text-white border border-white/20 backdrop-blur-sm shadow-none gap-1 text-[11px] font-medium", children: [
11532
+ /* @__PURE__ */ jsxRuntime.jsx(react.ClockIcon, { size: 11, weight: "bold" }),
11533
+ formatDuration(durationMinutes)
11421
11534
  ] }) : null }),
11422
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-2xl sm:text-3xl font-bold text-white leading-tight tracking-tight drop-shadow-md", children: event.title })
11535
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "relative z-10 text-2xl sm:text-[1.75rem] font-bold text-white leading-tight tracking-tight drop-shadow-sm", children: event.title })
11423
11536
  ]
11424
11537
  }
11425
11538
  ),
11426
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6 px-6 py-8 bg-background", children: [
11427
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-4", children: [
11428
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2 rounded-lg bg-muted/50 border border-border", children: /* @__PURE__ */ jsxRuntime.jsx(
11429
- react.CalendarDotsIcon,
11430
- {
11431
- size: 20,
11432
- weight: "duotone",
11433
- className: "text-primary"
11434
- }
11435
- ) }),
11436
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1", children: [
11437
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-semibold text-foreground leading-none", children: dateSection.primary }),
11438
- dateSection.secondary && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 text-sm text-muted-foreground mt-0.5", children: isMultiDay && !event.allDay || isMultiDay && dateSection.isAllDay ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
11439
- /* @__PURE__ */ jsxRuntime.jsx(
11440
- react.ArrowRightIcon,
11441
- {
11442
- size: 12,
11443
- className: "shrink-0 opacity-70"
11444
- }
11445
- ),
11446
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: dateSection.secondary })
11447
- ] }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-foreground/70", children: dateSection.secondary }) })
11539
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col px-7 py-6 bg-background", children: [
11540
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-4 py-4", children: [
11541
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-0.5 p-2 rounded-xl bg-muted border border-border shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(react.CalendarDotsIcon, { size: 18, weight: "duotone", className: "text-primary" }) }),
11542
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5 min-w-0", children: [
11543
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[13px] font-semibold text-foreground leading-snug", children: dateSection.primary }),
11544
+ dateSection.secondary && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-1.5 mt-0.5", children: isMultiDay && !event.allDay || isMultiDay && dateSection.isAllDay ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
11545
+ /* @__PURE__ */ jsxRuntime.jsx(react.ArrowRightIcon, { size: 11, className: "shrink-0 text-muted-foreground/60" }),
11546
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[12px] font-medium text-muted-foreground", children: dateSection.secondary })
11547
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[12px] font-medium text-muted-foreground", children: dateSection.secondary }) })
11448
11548
  ] })
11449
11549
  ] }),
11450
- /* @__PURE__ */ jsxRuntime.jsx(SeparatorBase, { className: "opacity-50" }),
11451
- event.location && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-4", children: [
11452
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2 rounded-lg bg-muted/50 border border-border", children: /* @__PURE__ */ jsxRuntime.jsx(
11453
- react.MapPinIcon,
11454
- {
11455
- size: 20,
11456
- weight: "duotone",
11457
- className: "text-primary"
11458
- }
11459
- ) }),
11460
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1", children: [
11461
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wider", children: "Localiza\xE7\xE3o" }),
11462
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-foreground font-medium", children: event.location })
11463
- ] })
11550
+ (event.location || event.description) && /* @__PURE__ */ jsxRuntime.jsx(SeparatorBase, { className: "opacity-40" }),
11551
+ event.location && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
11552
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-4 py-4", children: [
11553
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-0.5 p-2 rounded-xl bg-muted border border-border shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(react.MapPinIcon, { size: 18, weight: "duotone", className: "text-primary" }) }),
11554
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5 min-w-0", children: [
11555
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-medium uppercase tracking-widest text-muted-foreground/60", children: "Localiza\xE7\xE3o" }),
11556
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[13px] font-medium text-foreground leading-snug", children: event.location })
11557
+ ] })
11558
+ ] }),
11559
+ event.description && /* @__PURE__ */ jsxRuntime.jsx(SeparatorBase, { className: "opacity-40" })
11464
11560
  ] }),
11465
- event.description && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-4", children: [
11466
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2 rounded-lg bg-muted/50 border border-border", children: /* @__PURE__ */ jsxRuntime.jsx(
11467
- react.AlignLeftIcon,
11468
- {
11469
- size: 20,
11470
- weight: "duotone",
11471
- className: "text-primary"
11472
- }
11473
- ) }),
11474
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1", children: [
11475
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wider", children: "Descri\xE7\xE3o" }),
11476
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-muted-foreground leading-relaxed font-normal", children: event.description })
11561
+ event.description && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-4 py-4", children: [
11562
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-0.5 p-2 rounded-xl bg-muted border border-border shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(react.AlignLeftIcon, { size: 18, weight: "duotone", className: "text-primary" }) }),
11563
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5 min-w-0", children: [
11564
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-medium uppercase tracking-widest text-muted-foreground/60", children: "Descri\xE7\xE3o" }),
11565
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[13px] text-muted-foreground leading-relaxed font-normal", children: event.description })
11477
11566
  ] })
11478
11567
  ] }),
11479
- !event.location && !event.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground/60 italic text-center py-2 border border-dashed border-border rounded-lg", children: "Nenhum detalhe adicional dispon\xEDvel." })
11568
+ !event.location && !event.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "py-4 text-[11px] text-muted-foreground/40 italic text-center", children: "Nenhum detalhe adicional dispon\xEDvel." })
11480
11569
  ] })
11481
11570
  ] })
11482
11571
  }
@@ -14713,8 +14802,8 @@ var createValueFormatter = (customFormatter, formatBR) => {
14713
14802
  });
14714
14803
  const prefixFormats = ["R$", "$", "\u20AC", "\xA3"];
14715
14804
  const suffixFormats = ["%", "kg", "km", "m", "L", "un", "t", "h", "min", "s"];
14716
- const getFormattedValue = (baseValue, format19) => {
14717
- const trimmedFormat = format19.trim();
14805
+ const getFormattedValue = (baseValue, format20) => {
14806
+ const trimmedFormat = format20.trim();
14718
14807
  if (prefixFormats.includes(trimmedFormat)) {
14719
14808
  return `${trimmedFormat} ${baseValue}`;
14720
14809
  }
@@ -14739,8 +14828,8 @@ var createValueFormatter = (customFormatter, formatBR) => {
14739
14828
  num = Number.isNaN(parsed) ? NaN : parsed;
14740
14829
  }
14741
14830
  const baseFormatted = formatBR && !Number.isNaN(num) ? nf.format(num) : String(formattedValue ?? value ?? "");
14742
- const format19 = propsDataKey && formatterMap[propsDataKey] ? formatterMap[propsDataKey] : "";
14743
- return format19 ? getFormattedValue(baseFormatted, format19) : baseFormatted;
14831
+ const format20 = propsDataKey && formatterMap[propsDataKey] ? formatterMap[propsDataKey] : "";
14832
+ return format20 ? getFormattedValue(baseFormatted, format20) : baseFormatted;
14744
14833
  };
14745
14834
  }
14746
14835
  if (typeof customFormatter === "function") {
@@ -20602,6 +20691,8 @@ exports.createYTickFormatter = createYTickFormatter;
20602
20691
  exports.detectDataFields = detectDataFields;
20603
20692
  exports.detectXAxis = detectXAxis;
20604
20693
  exports.display12HourValue = display12HourValue;
20694
+ exports.formatDurationAgenda = formatDurationAgenda;
20695
+ exports.formatDurationAgendaDays = formatDurationAgendaDays;
20605
20696
  exports.formatFieldName = formatFieldName;
20606
20697
  exports.formatLinePercentage = formatLinePercentage;
20607
20698
  exports.generateAdditionalColors = generateAdditionalColors;
@@ -20611,6 +20702,7 @@ exports.getAgendaEventsForDayAgenda = getAgendaEventsForDayAgenda;
20611
20702
  exports.getAllEventsForDay = getAllEventsForDay;
20612
20703
  exports.getAllEventsForDayAgenda = getAllEventsForDayAgenda;
20613
20704
  exports.getArrowByType = getArrowByType;
20705
+ exports.getAutoColorAgenda = getAutoColorAgenda;
20614
20706
  exports.getBorderRadiusClasses = getBorderRadiusClasses;
20615
20707
  exports.getBorderRadiusClassesAgenda = getBorderRadiusClassesAgenda;
20616
20708
  exports.getDateByType = getDateByType;