@mlw-packages/react-components 1.10.21 → 1.10.22

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.mjs CHANGED
@@ -40,7 +40,7 @@ import { ptBR } from 'date-fns/locale';
40
40
  import { useSensors, useSensor, MouseSensor, TouchSensor, PointerSensor, DndContext, DragOverlay, useDroppable, useDraggable } from '@dnd-kit/core';
41
41
  import { CSS } from '@dnd-kit/utilities';
42
42
  import { RadioGroup, RadioGroupItem } from '@radix-ui/react-radio-group';
43
- import { ResponsiveContainer, ComposedChart, XAxis, YAxis, Bar, Line, Area, CartesianGrid, Tooltip, Legend, LabelList, Rectangle } from 'recharts';
43
+ import { ResponsiveContainer, ComposedChart, XAxis, YAxis, Bar, Line, Area, CartesianGrid, Tooltip, Legend, LabelList, Rectangle, PieChart, Pie, Cell, Sector } from 'recharts';
44
44
  import useEmblaCarousel from 'embla-carousel-react';
45
45
  import { useVirtualizer } from '@tanstack/react-virtual';
46
46
 
@@ -20048,6 +20048,308 @@ function processNeo4jData(integrations, targetSystemName) {
20048
20048
  connections
20049
20049
  };
20050
20050
  }
20051
+ var AnimatedNumber = ({ value }) => {
20052
+ const [displayed, setDisplayed] = React32__default.useState(value);
20053
+ const prevRef = React32__default.useRef(value);
20054
+ React32__default.useEffect(() => {
20055
+ const start = prevRef.current;
20056
+ const end = value;
20057
+ if (start === end) return;
20058
+ const duration = 420;
20059
+ const startTime = performance.now();
20060
+ const tick = (now) => {
20061
+ const elapsed = now - startTime;
20062
+ const progress = Math.min(elapsed / duration, 1);
20063
+ const eased = progress === 1 ? 1 : 1 - Math.pow(2, -10 * progress);
20064
+ setDisplayed(Math.round(start + (end - start) * eased));
20065
+ if (progress < 1) requestAnimationFrame(tick);
20066
+ else prevRef.current = end;
20067
+ };
20068
+ requestAnimationFrame(tick);
20069
+ }, [value]);
20070
+ return /* @__PURE__ */ jsx(Fragment, { children: displayed });
20071
+ };
20072
+ var Callout = ({
20073
+ sx,
20074
+ sy,
20075
+ mx,
20076
+ my,
20077
+ ex,
20078
+ ey,
20079
+ fill,
20080
+ name,
20081
+ value,
20082
+ percent,
20083
+ isRight
20084
+ }) => /* @__PURE__ */ jsx(AnimatePresence, { children: /* @__PURE__ */ jsxs(
20085
+ motion.g,
20086
+ {
20087
+ initial: { opacity: 0 },
20088
+ animate: { opacity: 1 },
20089
+ exit: { opacity: 0 },
20090
+ transition: { duration: 0.18 },
20091
+ className: "z-9999",
20092
+ children: [
20093
+ /* @__PURE__ */ jsx(
20094
+ motion.path,
20095
+ {
20096
+ d: `M${sx},${sy}L${mx},${my}L${ex},${ey}`,
20097
+ stroke: fill,
20098
+ fill: "none",
20099
+ strokeWidth: 1.5,
20100
+ strokeLinecap: "round",
20101
+ initial: { pathLength: 0, opacity: 0 },
20102
+ animate: { pathLength: 1, opacity: 1 },
20103
+ exit: { pathLength: 0, opacity: 0 },
20104
+ transition: { duration: 0.32, ease: "easeInOut" }
20105
+ }
20106
+ ),
20107
+ /* @__PURE__ */ jsx(
20108
+ motion.circle,
20109
+ {
20110
+ cx: ex,
20111
+ cy: ey,
20112
+ r: 3,
20113
+ fill,
20114
+ initial: { scale: 0, opacity: 0 },
20115
+ animate: { scale: 1, opacity: 1 },
20116
+ exit: { scale: 0, opacity: 0 }
20117
+ }
20118
+ ),
20119
+ /* @__PURE__ */ jsx(
20120
+ "foreignObject",
20121
+ {
20122
+ x: isRight ? ex + 10 : ex - 90,
20123
+ y: ey - 24,
20124
+ width: 90,
20125
+ height: 48,
20126
+ style: { overflow: "visible" },
20127
+ children: /* @__PURE__ */ jsxs(
20128
+ motion.div,
20129
+ {
20130
+ initial: {
20131
+ opacity: 0,
20132
+ x: isRight ? -14 : 14,
20133
+ scale: 0.88,
20134
+ filter: "blur(4px)"
20135
+ },
20136
+ animate: { opacity: 1, x: 0, scale: 1, filter: "blur(0px)" },
20137
+ exit: {
20138
+ opacity: 0,
20139
+ x: isRight ? -8 : 8,
20140
+ scale: 0.92,
20141
+ filter: "blur(3px)"
20142
+ },
20143
+ transition: {
20144
+ type: "spring",
20145
+ stiffness: 460,
20146
+ damping: 26,
20147
+ mass: 0.8
20148
+ },
20149
+ style: { pointerEvents: "none" },
20150
+ children: [
20151
+ /* @__PURE__ */ jsxs(
20152
+ motion.div,
20153
+ {
20154
+ style: {
20155
+ fontSize: 15,
20156
+ fontWeight: 800,
20157
+ color: "#333",
20158
+ lineHeight: 1
20159
+ },
20160
+ initial: { y: 6, opacity: 0 },
20161
+ animate: { y: 0, opacity: 1 },
20162
+ exit: { y: -4, opacity: 0 },
20163
+ transition: {
20164
+ delay: 0.06,
20165
+ type: "spring",
20166
+ stiffness: 400,
20167
+ damping: 22
20168
+ },
20169
+ children: [
20170
+ "PV ",
20171
+ /* @__PURE__ */ jsx(AnimatedNumber, { value })
20172
+ ]
20173
+ }
20174
+ ),
20175
+ /* @__PURE__ */ jsxs(
20176
+ motion.div,
20177
+ {
20178
+ style: { fontSize: 11, color: "#999", marginTop: 5 },
20179
+ initial: { y: 6, opacity: 0 },
20180
+ animate: { y: 0, opacity: 1 },
20181
+ exit: { y: -4, opacity: 0 },
20182
+ transition: {
20183
+ delay: 0.12,
20184
+ type: "spring",
20185
+ stiffness: 400,
20186
+ damping: 22
20187
+ },
20188
+ children: [
20189
+ "Rate ",
20190
+ (percent * 100).toFixed(2),
20191
+ "%"
20192
+ ]
20193
+ }
20194
+ )
20195
+ ]
20196
+ },
20197
+ name
20198
+ )
20199
+ }
20200
+ )
20201
+ ]
20202
+ },
20203
+ name
20204
+ ) });
20205
+ var renderActiveShape = (props) => {
20206
+ const RADIAN = Math.PI / 180;
20207
+ const {
20208
+ cx,
20209
+ cy,
20210
+ midAngle,
20211
+ innerRadius,
20212
+ outerRadius,
20213
+ startAngle,
20214
+ endAngle,
20215
+ fill,
20216
+ payload,
20217
+ percent,
20218
+ value
20219
+ } = props;
20220
+ const sin = Math.sin(-RADIAN * (midAngle ?? 0));
20221
+ const cos = Math.cos(-RADIAN * (midAngle ?? 0));
20222
+ const sx = (cx ?? 0) + ((outerRadius ?? 0) + 10) * cos;
20223
+ const sy = (cy ?? 0) + ((outerRadius ?? 0) + 10) * sin;
20224
+ const mx = (cx ?? 0) + ((outerRadius ?? 0) + 30) * cos;
20225
+ const my = (cy ?? 0) + ((outerRadius ?? 0) + 30) * sin;
20226
+ const ex = mx + (cos >= 0 ? 1 : -1) * 22;
20227
+ const ey = my;
20228
+ return /* @__PURE__ */ jsxs("g", { children: [
20229
+ /* @__PURE__ */ jsx("text", { x: cx, y: cy, dy: 8, textAnchor: "middle", fill, children: payload?.name }),
20230
+ /* @__PURE__ */ jsx(
20231
+ Sector,
20232
+ {
20233
+ cx,
20234
+ cy,
20235
+ innerRadius,
20236
+ outerRadius,
20237
+ startAngle,
20238
+ endAngle,
20239
+ fill
20240
+ }
20241
+ ),
20242
+ /* @__PURE__ */ jsx(
20243
+ Sector,
20244
+ {
20245
+ cx,
20246
+ cy,
20247
+ startAngle,
20248
+ endAngle,
20249
+ innerRadius: (outerRadius ?? 0) + 6,
20250
+ outerRadius: (outerRadius ?? 0) + 10,
20251
+ fill
20252
+ }
20253
+ ),
20254
+ /* @__PURE__ */ jsx(
20255
+ Callout,
20256
+ {
20257
+ sx,
20258
+ sy,
20259
+ mx,
20260
+ my,
20261
+ ex,
20262
+ ey,
20263
+ fill: fill ?? "#8884d8",
20264
+ name: payload?.name,
20265
+ value,
20266
+ percent: percent ?? 0,
20267
+ isRight: cos >= 0
20268
+ }
20269
+ )
20270
+ ] });
20271
+ };
20272
+ var PieChartComponent = ({
20273
+ data,
20274
+ width = 400,
20275
+ height = 300,
20276
+ innerRadius = 60,
20277
+ outerRadius = 80,
20278
+ showLegend = true,
20279
+ showTooltip = true,
20280
+ title,
20281
+ titlePosition = "left",
20282
+ className
20283
+ }) => {
20284
+ const [activeIndex, setActiveIndex] = useState(0);
20285
+ const finalColors = Object.fromEntries(
20286
+ data.map((d) => [d.name, d.color || "#8884d8"])
20287
+ );
20288
+ return /* @__PURE__ */ jsxs(
20289
+ "div",
20290
+ {
20291
+ className: cn(
20292
+ "w-full overflow-hidden min-w-0 rounded-lg border-border bg-card",
20293
+ className
20294
+ ),
20295
+ tabIndex: -1,
20296
+ children: [
20297
+ title && /* @__PURE__ */ jsx(
20298
+ ChartHeader,
20299
+ {
20300
+ title,
20301
+ titlePosition,
20302
+ HORIZONTAL_PADDING_CLASS: "px-6",
20303
+ data,
20304
+ allKeys: data.map((d) => d.name),
20305
+ processedData: data,
20306
+ finalColors,
20307
+ mapperConfig: Object.fromEntries(
20308
+ data.map((d) => [
20309
+ d.name,
20310
+ { label: d.name, color: d.color || "#8884d8" }
20311
+ ])
20312
+ )
20313
+ }
20314
+ ),
20315
+ /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ jsxs(
20316
+ PieChart,
20317
+ {
20318
+ width: typeof width === "number" ? width : 400,
20319
+ height,
20320
+ margin: { top: 20, right: 80, bottom: 20, left: 80 },
20321
+ children: [
20322
+ /* @__PURE__ */ jsx(
20323
+ Pie,
20324
+ {
20325
+ activeIndex,
20326
+ activeShape: renderActiveShape,
20327
+ data,
20328
+ dataKey: "value",
20329
+ nameKey: "name",
20330
+ cx: "50%",
20331
+ cy: "50%",
20332
+ innerRadius,
20333
+ outerRadius,
20334
+ fill: "#8884d8",
20335
+ onMouseEnter: (_, index) => setActiveIndex(index),
20336
+ onMouseLeave: () => setActiveIndex(void 0),
20337
+ onClick: (e) => {
20338
+ if (e && e.target && typeof e.target.blur === "function") e.target.blur();
20339
+ },
20340
+ children: data.map((entry, index) => /* @__PURE__ */ jsx(Cell, { fill: entry.color || "#8884d8" }, `cell-${index}`))
20341
+ }
20342
+ ),
20343
+ showLegend && /* @__PURE__ */ jsx(Legend, {}),
20344
+ showTooltip && /* @__PURE__ */ jsx(Tooltip, { content: () => null })
20345
+ ]
20346
+ }
20347
+ ) })
20348
+ ]
20349
+ }
20350
+ );
20351
+ };
20352
+ var PieChart_default = PieChartComponent;
20051
20353
  function NumericInput({
20052
20354
  value,
20053
20355
  onChange,
@@ -21042,12 +21344,23 @@ function CarouselBase({
21042
21344
  setDownloadSuccess(false);
21043
21345
  const currentItem = items[index];
21044
21346
  try {
21045
- const response = await fetch(currentItem.url);
21347
+ const response = await fetch(currentItem.url, { mode: "cors" });
21348
+ if (!response.ok) throw new Error("Erro ao baixar imagem");
21046
21349
  const blob = await response.blob();
21047
21350
  const url = window.URL.createObjectURL(blob);
21048
21351
  const link = document.createElement("a");
21049
21352
  link.href = url;
21050
- link.download = currentItem.title || "image";
21353
+ let ext = "";
21354
+ try {
21355
+ const urlObj = new URL(currentItem.url, window.location.href);
21356
+ const path = urlObj.pathname;
21357
+ ext = path.substring(path.lastIndexOf("."));
21358
+ if (!ext || ext.length > 6) ext = "";
21359
+ } catch {
21360
+ }
21361
+ let filename = currentItem.title || "image";
21362
+ if (ext && !filename.endsWith(ext)) filename += ext;
21363
+ link.download = filename;
21051
21364
  document.body.appendChild(link);
21052
21365
  link.click();
21053
21366
  document.body.removeChild(link);
@@ -21056,6 +21369,9 @@ function CarouselBase({
21056
21369
  setDownloadSuccess(true);
21057
21370
  setTimeout(() => setDownloadSuccess(false), 2e3);
21058
21371
  } catch (error) {
21372
+ alert(
21373
+ "Erro ao baixar imagem. Verifique a URL ou permiss\xF5es do servidor."
21374
+ );
21059
21375
  console.error("Error downloading image:", error);
21060
21376
  setIsDownloading(false);
21061
21377
  }
@@ -21097,8 +21413,13 @@ function CarouselBase({
21097
21413
  {
21098
21414
  src: item.url,
21099
21415
  alt: item.title,
21100
- className: cn("w-full h-full select-none"),
21101
- imageClassName,
21416
+ className: cn(
21417
+ "w-full h-full select-none object-contain"
21418
+ ),
21419
+ imageClassName: cn(
21420
+ "object-contain w-full h-full",
21421
+ imageClassName
21422
+ ),
21102
21423
  borderRadius: 8,
21103
21424
  maxZoom: 3
21104
21425
  }
@@ -21955,7 +22276,9 @@ function CommandItemRow({
21955
22276
  item,
21956
22277
  isActive,
21957
22278
  isSelected,
22279
+ multiSelect,
21958
22280
  onSelect,
22281
+ onToggleSelection,
21959
22282
  onHover,
21960
22283
  searchQuery
21961
22284
  }) {
@@ -21963,12 +22286,18 @@ function CommandItemRow({
21963
22286
  motion.button,
21964
22287
  {
21965
22288
  layout: true,
21966
- onClick: onSelect,
22289
+ onClick: (e) => {
22290
+ if (multiSelect && onToggleSelection && (e.ctrlKey || e.metaKey || e.shiftKey)) {
22291
+ onToggleSelection(e);
22292
+ } else {
22293
+ onSelect(e);
22294
+ }
22295
+ },
21967
22296
  onMouseEnter: onHover,
21968
22297
  className: `
21969
- w-full flex items-center gap-1 px-2 py-1 rounded-md text-left cursor-pointer
22298
+ w-full flex items-center gap-1 px-2 py-1 rounded-md text-left cursor-pointer
21970
22299
  transition-colors duration-75 group relative
21971
- ${isActive ? "text-accent-foreground hover:bg-accent" : "hover:bg-accent hover:text-accent-foreground"}
22300
+ ${isActive ? "text-accent-foreground bg-accent" : "hover:bg-accent hover:text-accent-foreground"}
21972
22301
  `,
21973
22302
  children: [
21974
22303
  item.icon && /* @__PURE__ */ jsx(
@@ -21980,7 +22309,7 @@ function CommandItemRow({
21980
22309
  }
21981
22310
  ),
21982
22311
  /* @__PURE__ */ jsxs("div", { className: "relative flex-1 min-w-0 px-1", children: [
21983
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 flex-wrap", children: [
22312
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 flex-wrap", children: [
21984
22313
  /* @__PURE__ */ jsx(
21985
22314
  "span",
21986
22315
  {
@@ -22318,7 +22647,7 @@ var VirtualResultList = memo(
22318
22647
  ref: listRef,
22319
22648
  className: "overflow-y-auto overscroll-contain px-2 py-1 [&::-webkit-scrollbar]:w-1.5 [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar-thumb]:bg-muted-foreground/30 [&::-webkit-scrollbar-thumb]:rounded-full hover:[&::-webkit-scrollbar-thumb]:bg-muted-foreground/50 transition-colors",
22320
22649
  style: { maxHeight: `min(${LIST_MAX_HEIGHT}px, 60vh)` },
22321
- children: /* @__PURE__ */ jsx("div", { style: { height: totalSize, position: "relative" }, children: virtualItems.map((vItem) => {
22650
+ children: /* @__PURE__ */ jsx("div", { style: { height: totalSize, position: "relative", width: "100%" }, children: virtualItems.map((vItem) => {
22322
22651
  const row = rows[vItem.index];
22323
22652
  return /* @__PURE__ */ jsx(
22324
22653
  "div",
@@ -22327,9 +22656,10 @@ var VirtualResultList = memo(
22327
22656
  ref: virtualizer.measureElement,
22328
22657
  style: {
22329
22658
  position: "absolute",
22330
- top: vItem.start,
22659
+ top: 0,
22331
22660
  left: 0,
22332
- right: 0
22661
+ width: "100%",
22662
+ transform: `translateY(${vItem.start}px)`
22333
22663
  },
22334
22664
  children: row.kind === "label" ? /* @__PURE__ */ jsx(GroupLabel, { group: row.group }) : /* @__PURE__ */ jsx("div", { "data-active": row.globalIdx === activeIndex, children: /* @__PURE__ */ jsx(
22335
22665
  CommandItemRow,
@@ -22375,7 +22705,7 @@ var FooterBar = memo(
22375
22705
  }
22376
22706
  ),
22377
22707
  /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1.5", children: [
22378
- /* @__PURE__ */ jsx("span", { className: "font-mono", children: "Ctrl+Enter" }),
22708
+ /* @__PURE__ */ jsx("span", { className: "font-mono text-[10px] px-1 bg-muted rounded border", children: "Ctrl+Enter" }),
22379
22709
  "Finalizar sele\xE7\xE3o"
22380
22710
  ] })
22381
22711
  ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -22435,9 +22765,9 @@ function CommandPalette(props) {
22435
22765
  showList
22436
22766
  } = useCommandPalette({
22437
22767
  ...props,
22438
- open: isMobile ? true : props.open
22768
+ open: props.open
22439
22769
  });
22440
- useKeyboardShortcut(shortcut.key, () => onOpenChange(!open), {
22770
+ useKeyboardShortcut(shortcut.key, () => onOpenChange?.(!open), {
22441
22771
  ctrl: shortcut.ctrl,
22442
22772
  meta: shortcut.meta,
22443
22773
  shift: shortcut.shift,
@@ -22446,7 +22776,7 @@ function CommandPalette(props) {
22446
22776
  useEffect(() => {
22447
22777
  if (!open) return;
22448
22778
  const handleEscape = (e) => {
22449
- if (e.key === "Escape") onOpenChange(false);
22779
+ if (e.key === "Escape") onOpenChange?.(false);
22450
22780
  };
22451
22781
  document.addEventListener("keydown", handleEscape);
22452
22782
  return () => document.removeEventListener("keydown", handleEscape);
@@ -22473,11 +22803,11 @@ function CommandPalette(props) {
22473
22803
  (val) => {
22474
22804
  setQuery(val);
22475
22805
  setActiveIndex(0);
22476
- if (!open && val.trim() !== "") onOpenChange(true);
22806
+ if (!open && val.trim() !== "") onOpenChange?.(true);
22477
22807
  },
22478
22808
  [setQuery, setActiveIndex, open, onOpenChange]
22479
22809
  );
22480
- const handleClose = useCallback(() => onOpenChange(false), [onOpenChange]);
22810
+ const handleClose = useCallback(() => onOpenChange?.(false), [onOpenChange]);
22481
22811
  const handleClearQuery = useCallback(() => setQuery(""), [setQuery]);
22482
22812
  const searchPlaceholder = multiSearch ? "Buscar\u2026 (separe termos por v\xEDrgula)" : placeholder;
22483
22813
  const sharedListProps = {
@@ -22495,100 +22825,118 @@ function CommandPalette(props) {
22495
22825
  searchQuery: query
22496
22826
  };
22497
22827
  if (isMobile) {
22498
- return /* @__PURE__ */ jsxs(Fragment, { children: [
22499
- /* @__PURE__ */ jsx("div", { className: "fixed top-0 left-0 right-0 z-[100] px-3 py-2 bg-background", children: /* @__PURE__ */ jsx(
22500
- DebouncedInput,
22828
+ return /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsxs(Fragment, { children: [
22829
+ /* @__PURE__ */ jsxs(
22830
+ motion.div,
22501
22831
  {
22502
- ref: inputRef,
22503
- value: query,
22504
- debounce: debounceDelay,
22505
- onChange: handleQueryChangeMobile,
22506
- placeholder: searchPlaceholder
22832
+ initial: { opacity: 0, y: -20 },
22833
+ animate: { opacity: 1, y: 0 },
22834
+ exit: { opacity: 0, y: -20 },
22835
+ className: "fixed top-0 left-0 right-0 z-[100] px-4 py-3 bg-background border-b border-border shadow-sm flex items-center gap-3",
22836
+ children: [
22837
+ /* @__PURE__ */ jsx(MagnifyingGlassIcon, { className: "w-5 h-5 text-muted-foreground" }),
22838
+ /* @__PURE__ */ jsx(
22839
+ DebouncedInput,
22840
+ {
22841
+ ref: inputRef,
22842
+ value: query,
22843
+ debounce: debounceDelay,
22844
+ onChange: handleQueryChangeMobile,
22845
+ placeholder: searchPlaceholder,
22846
+ className: "flex-1 bg-transparent border-none shadow-none focus-visible:ring-0 p-0 text-base"
22847
+ }
22848
+ ),
22849
+ query && /* @__PURE__ */ jsx(ButtonBase, { variant: "ghost", size: "icon", onClick: handleClearQuery, className: "h-8 w-8", children: /* @__PURE__ */ jsx(XIcon, { className: "w-4 h-4" }) })
22850
+ ]
22507
22851
  }
22508
- ) }),
22509
- /* @__PURE__ */ jsx(AnimatePresence, { children: showList && /* @__PURE__ */ jsxs(Fragment, { children: [
22510
- /* @__PURE__ */ jsx(
22511
- motion.div,
22512
- {
22513
- initial: { opacity: 0 },
22514
- animate: { opacity: 1 },
22515
- exit: { opacity: 0 },
22516
- transition: ANIMATION.overlay,
22517
- className: "fixed inset-0 z-[98] bg-background/60 backdrop-blur-[2px]",
22518
- onClick: handleClose
22519
- }
22520
- ),
22521
- /* @__PURE__ */ jsxs(
22522
- motion.div,
22523
- {
22524
- initial: { opacity: 0, y: -6 },
22525
- animate: { opacity: 1, y: 0 },
22526
- exit: { opacity: 0, y: -6 },
22527
- transition: ANIMATION.mobilePanel,
22528
- className: "fixed left-3 right-3 z-[99] bg-popover border border-border rounded-lg shadow-2xl shadow-black/20 dark:shadow-black/50 overflow-hidden top-14",
22529
- children: [
22530
- /* @__PURE__ */ jsx(SearchBadges, { terms: searchTerms }),
22531
- /* @__PURE__ */ jsx(VirtualResultList, { ...sharedListProps })
22532
- ]
22533
- }
22534
- )
22535
- ] }) })
22536
- ] });
22852
+ ),
22853
+ /* @__PURE__ */ jsx(
22854
+ motion.div,
22855
+ {
22856
+ initial: { opacity: 0 },
22857
+ animate: { opacity: 1 },
22858
+ exit: { opacity: 0 },
22859
+ transition: ANIMATION.overlay,
22860
+ className: "fixed inset-0 z-[98] bg-background/80 backdrop-blur-md",
22861
+ onClick: handleClose
22862
+ }
22863
+ ),
22864
+ showList && /* @__PURE__ */ jsxs(
22865
+ motion.div,
22866
+ {
22867
+ initial: { opacity: 0, y: 10 },
22868
+ animate: { opacity: 1, y: 0 },
22869
+ exit: { opacity: 0, y: 10 },
22870
+ transition: ANIMATION.mobilePanel,
22871
+ className: "fixed inset-x-0 bottom-0 top-[60px] z-[99] bg-background overflow-hidden flex flex-col",
22872
+ children: [
22873
+ /* @__PURE__ */ jsx(SearchBadges, { terms: searchTerms }),
22874
+ /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-hidden", children: /* @__PURE__ */ jsx(VirtualResultList, { ...sharedListProps }) })
22875
+ ]
22876
+ }
22877
+ )
22878
+ ] }) });
22537
22879
  }
22538
- return /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(
22539
- motion.div,
22540
- {
22541
- initial: { opacity: 0, scale: 0.96, y: -8 },
22542
- animate: { opacity: 1, scale: 1, y: 0 },
22543
- exit: { opacity: 0, scale: 0.96, y: -8 },
22544
- transition: ANIMATION.panel,
22545
- className: "fixed z-[100] top-4 -translate-x-1/2 w-full max-w-xl rounded-xl border border-border overflow-hidden shadow-2xl shadow-black/20 dark:shadow-black/60 bg-popover/95 backdrop-blur-xl",
22546
- style: { maxHeight: "min(600px, 80vh)" },
22547
- children: [
22548
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 px-4 py-2 border-b border-border", children: [
22549
- /* @__PURE__ */ jsx(
22550
- MagnifyingGlassIcon,
22551
- {
22552
- className: "w-4 h-4 text-muted-foreground flex-shrink-0",
22553
- weight: "bold"
22554
- }
22555
- ),
22880
+ return /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsxs(Fragment, { children: [
22881
+ /* @__PURE__ */ jsx(
22882
+ motion.div,
22883
+ {
22884
+ initial: { opacity: 0 },
22885
+ animate: { opacity: 1 },
22886
+ exit: { opacity: 0 },
22887
+ className: "fixed inset-0 z-[99] bg-black/40 backdrop-blur-sm",
22888
+ onClick: handleClose
22889
+ }
22890
+ ),
22891
+ /* @__PURE__ */ jsxs(
22892
+ motion.div,
22893
+ {
22894
+ initial: { opacity: 0, scale: 0.96, y: -8 },
22895
+ animate: { opacity: 1, scale: 1, y: 0 },
22896
+ exit: { opacity: 0, scale: 0.96, y: -8 },
22897
+ transition: ANIMATION.panel,
22898
+ className: "fixed z-[100] top-4 -translate-x-1/2 w-full max-w-xl rounded-xl border border-border overflow-hidden shadow-2xl shadow-black/20 dark:shadow-black/60 bg-popover/95 backdrop-blur-xl",
22899
+ style: { maxHeight: "min(600px, 80vh)" },
22900
+ children: [
22901
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 px-4 py-2 border-b border-border", children: [
22902
+ /* @__PURE__ */ jsx(MagnifyingGlassIcon, { className: "w-4 h-4 text-muted-foreground flex-shrink-0", weight: "bold" }),
22903
+ /* @__PURE__ */ jsx(
22904
+ DebouncedInput,
22905
+ {
22906
+ ref: inputRef,
22907
+ value: query,
22908
+ debounce: debounceDelay,
22909
+ onChange: handleQueryChange,
22910
+ placeholder: searchPlaceholder,
22911
+ rightIcon: query ? /* @__PURE__ */ jsx(
22912
+ ButtonBase,
22913
+ {
22914
+ variant: "ghost",
22915
+ size: "icon",
22916
+ onClick: handleClearQuery,
22917
+ className: "text-muted-foreground hover:text-red-500 hover:bg-transparent transition-colors",
22918
+ children: /* @__PURE__ */ jsx(XIcon, { className: "w-4 h-4" })
22919
+ }
22920
+ ) : void 0,
22921
+ className: "flex-1 bg-transparent border-none focus-visible:ring-0 outline-none shadow-none px-0 h-7 text-sm caret-primary"
22922
+ }
22923
+ )
22924
+ ] }),
22925
+ /* @__PURE__ */ jsx(SearchBadges, { terms: searchTerms }),
22926
+ showList && /* @__PURE__ */ jsx(VirtualResultList, { ...sharedListProps }),
22556
22927
  /* @__PURE__ */ jsx(
22557
- DebouncedInput,
22928
+ FooterBar,
22558
22929
  {
22559
- ref: inputRef,
22560
- value: query,
22561
- debounce: debounceDelay,
22562
- onChange: handleQueryChange,
22563
- placeholder: searchPlaceholder,
22564
- rightIcon: query ? /* @__PURE__ */ jsx(
22565
- ButtonBase,
22566
- {
22567
- variant: "ghost",
22568
- size: "icon",
22569
- onClick: handleClearQuery,
22570
- className: "text-muted-foreground hover:text-red-500 hover:bg-transparent transition-colors",
22571
- children: /* @__PURE__ */ jsx(XIcon, { className: "w-4 h-4" })
22572
- }
22573
- ) : void 0,
22574
- className: "flex-1 bg-transparent border-none focus-visible:ring-0 outline-none shadow-none px-0 h-7 text-sm caret-primary"
22930
+ footer,
22931
+ totalItems,
22932
+ selectedCount: selectedItemIds.size,
22933
+ executeBulkAction
22575
22934
  }
22576
22935
  )
22577
- ] }),
22578
- /* @__PURE__ */ jsx(SearchBadges, { terms: searchTerms }),
22579
- showList && /* @__PURE__ */ jsx(VirtualResultList, { ...sharedListProps }),
22580
- /* @__PURE__ */ jsx(
22581
- FooterBar,
22582
- {
22583
- footer,
22584
- totalItems,
22585
- selectedCount: selectedItemIds.size,
22586
- executeBulkAction
22587
- }
22588
- )
22589
- ]
22590
- }
22591
- ) }) });
22936
+ ]
22937
+ }
22938
+ )
22939
+ ] }) });
22592
22940
  }
22593
22941
 
22594
- export { AddButton, Agenda, AgendaDaysToShow, AgendaDaysToShowAgenda, AgendaView, AlertDialogActionBase, AlertDialogBase, AlertDialogCancelBase, AlertDialogContentBase, AlertDialogDescriptionBase, AlertDialogFooterBase, AlertDialogHeaderBase, AlertDialogOverlayBase, AlertDialogPortalBase, AlertDialogTitleBase, AlertDialogTriggerBase, AvatarBase, AvatarCombobox, AvatarFallbackBase, AvatarImageBase, BackButton, Badge, BreadcrumbBase, BreadcrumbEllipsisBase, BreadcrumbItemBase, BreadcrumbLinkBase, BreadcrumbListBase, BreadcrumbPageBase, BreadcrumbSeparatorBase, Brush_default as Brush, ButtonBase, ButtonGroupBase, CENTER_INDEX, CalendarBase, CalendarDndProvider, CalendarDndProviderAgenda, CardBase, CardContentBase, CardDescriptionBase, CardFooterBase, CardHeaderBase, CardTitleBase, CarouselBase, ChangeButton, Chart_default as Chart, ChartControls, ChartHeader, ChartTotalLegend_default as ChartTotalLegend, CheckButton, CheckboxBase, CheckboxTree, CircularProgress, CloseAllButton_default as CloseAllButton, CloseButton, CodeBlock, CollapsibleBase, CollapsibleContentBase, CollapsibleTriggerBase, Combobox, CommandBase, CommandDebouncedInputBase, CommandDialogBase, CommandEmptyBase, CommandGroupBase, CommandInputBase, CommandItemBase, CommandItemRow, CommandListBase, CommandPalette, CommandSeparatorBase, CommandShortcutBase, ContextMenuBase, ContextMenuCheckboxItemBase, ContextMenuContentBase, ContextMenuGroupBase, ContextMenuItemBase, ContextMenuLabelBase, ContextMenuPortalBase, ContextMenuRadioGroupBase, ContextMenuRadioItemBase, ContextMenuSeparatorBase, ContextMenuShortcutBase, ContextMenuSubBase, ContextMenuSubContentBase, ContextMenuSubTriggerBase, ContextMenuTriggerBase, ControlledCombobox, CopyButton, DateTimePicker, DayView, DayViewAgenda, DebouncedInput, DefaultEndHour, DefaultEndHourAgenda, DefaultStartHour, DefaultStartHourAgenda, DestructiveDialog, DialogBase, DialogCloseBase, DialogContentBase, DialogDescriptionBase, DialogFooterBase, DialogHeaderBase, DialogOverlayBase, DialogPortalBase, DialogTitleBase, DialogTriggerBase, DownloadButton, DraggableEvent2 as DraggableEvent, DraggableTooltip_default as DraggableTooltip, DrawerBase, DrawerCloseBase, DrawerContentBase, DrawerDescriptionBase, DrawerFooterBase, DrawerHeaderBase, DrawerOverlayBase, DrawerPortalBase, DrawerTitleBase, DrawerTriggerBase, DropDownMenuBase, DropDownMenuCheckboxItemBase, DropDownMenuContentBase, DropDownMenuGroupBase, DropDownMenuItemBase, DropDownMenuLabelBase, DropDownMenuPortalBase, DropDownMenuRadioGroupBase, DropDownMenuRadioItemBase, DropDownMenuSeparatorBase, DropDownMenuShortcutBase, DropDownMenuSubBase, DropDownMenuSubContentBase, DropDownMenuSubTriggerBase, DropDownMenuTriggerBase, DroppableCell, DroppableCellAgenda, EditButton, EndHour, EndHourAgenda, ErrorMessage_default as ErrorMessage, EventAgenda, EventCalendar, EventDetailModalAgenda, EventDialog, EventGap, EventGapAgenda, EventHeight, EventHeightAgenda, EventItem, EventItemAgenda, EventsPopup, FavoriteButton, FileAccept, FileUploader, FilterButton, GroupLabel, HideButton, Highlights_default as Highlights, HorizontalChart_default as HorizontalChart, HorizontalLegend_default as HorizontalLegend, HoverCardBase, HoverCardContentBase, HoverCardTriggerBase, ITEM_HEIGHT, InputBase, InputOTPBase, InputOTPGroupBase, InputOTPSeparatorBase, InputOTPSlotBase, IntegrationModal_default as IntegrationModal, Kbd, KbdGroup, LabelBase_default as LabelBase, Leaderboard, LikeButton, LoadingBase, LockButton, ModalBase, ModalCloseBase, ModalContentBase, ModalDescriptionBase, ModalFooterBase, ModalHeaderBase, ModalOverlayBase, ModalPortalBase, ModalTitleBase, ModalTriggerBase, ModeToggleBase, MonthView, MonthViewAgenda, MoreButton, MultiCombobox, MultiDayOverlay, MultiSelect, MultiSelectBase, MultiSelectContentBase, MultiSelectGroupBase, MultiSelectItemBase, MultiSelectSeparatorBase, MultiSelectTriggerBase, MultiSelectValueBase, NavigationMenuBase, NavigationMenuContentBase, NavigationMenuIndicatorBase, NavigationMenuItemBase, NavigationMenuLinkBase, NavigationMenuListBase, NavigationMenuTriggerBase, NavigationMenuViewportBase, NoData_default as NoData, NotificationButton, NumericInput, PeriodsDropdown_default as PeriodsDropdown, PopoverAnchorBase, PopoverBase, PopoverContentBase, PopoverTriggerBase, ProgressBase, ProgressCirclesBase, ProgressPanelsBase, ProgressSegmentsBase, RadialMenu, RangePicker, RefreshButton, SaveButton, ScrollAreaBase, ScrollBarBase, SearchButton, Select, SelectBase, SelectContentBase, SelectEmpty, SelectGroupBase, SelectItemBase, SelectLabelBase, SelectScrollDownButtonBase, SelectScrollUpButtonBase, SelectSeparatorBase, SelectTriggerBase, SelectValueBase, SeparatorBase, SettingsButton, SheetBase, SheetCloseBase, SheetContentBase, SheetDescriptionBase, SheetFooterBase, SheetHeaderBase, SheetOverlayBase, SheetPortalBase, SheetTitleBase, SheetTriggerBase, ShowOnly_default as ShowOnly, SidebarBase, SidebarContentBase, SidebarFooterBase, SidebarGroupActionBase, SidebarGroupBase, SidebarGroupContentBase, SidebarGroupLabelBase, SidebarHeaderBase, SidebarInputBase, SidebarInsetBase, SidebarMenuActionBase, SidebarMenuBadgeBase, SidebarMenuBase, SidebarMenuButtonBase, SidebarMenuItemBase, SidebarMenuSkeletonBase, SidebarMenuSubBase, SidebarMenuSubButtonBase, SidebarMenuSubItemBase, SidebarProviderBase, SidebarRailBase, SidebarSeparatorBase, SidebarTriggerBase, SkeletonBase, SlideBase, StartHour, StartHourAgenda, StatusIndicator, SwitchBase, SystemTooltip_default as SystemTooltip, TableBase, TableBodyBase, TableCaptionBase, TableCellBase, TableFooterBase, TableHeadBase, TableHeaderBase, TableRowBase, TabsBase, TabsContentBase, TabsListBase, TabsTriggerBase, TextAreaBase, ThemeProviderBase, TimePicker, TimePickerInput, TimeSeries_default as TimeSeries, Toaster, TooltipBase, TooltipContentBase, TooltipProviderBase, TooltipSimple_default as TooltipSimple, TooltipTriggerBase, TooltipWithTotal_default as TooltipWithTotal, UndatedEvents, UniversalTooltipRenderer, UnlockButton, UploadButton, UseSideBarBase, VISIBLE_ITEMS, ViewButton, VisibilityButton, WeekCellsHeight, WeekCellsHeightAgenda, WeekView, WeekViewAgenda, YearViewAgenda, adaptDataForTooltip, addHoursToDate, addHoursToDateAgenda, addMinutesToDateAgenda, badgeVariants, buttonVariantsBase, compactTick, computeChartWidth, computeNiceMax, computeYAxisTickWidth, convert12HourTo24Hour, createGroup, createItem, createValueFormatter, createYTickFormatter, detectDataFields, detectXAxis, display12HourValue, filterAndScore, formatDurationAgenda, formatDurationAgendaDays, formatFieldName, formatLinePercentage, generateAdditionalColors, generateColorMap, getAgendaEventsForDay, getAgendaEventsForDayAgenda, getAllEventsForDay, getAllEventsForDayAgenda, getArrowByType, getAutoColorAgenda, getBorderRadiusClasses, getBorderRadiusClassesAgenda, getDateByType, getEventColorClasses, getEventColorClassesAgenda, getEventEndDate, getEventStartDate, getEventsForDay, getEventsForDayAgenda, getItems, getMaxDataValue, getMinDataValue, getSpanningEventsForDay, getSpanningEventsForDayAgenda, getValid12Hour, getValidArrow12Hour, getValidArrowHour, getValidArrowMinuteOrSecond, getValidArrowNumber, getValidHour, getValidMinuteOrSecond, getValidNumber, isMultiDayEvent, isMultiDayEventAgenda, isValid12Hour, isValidHour, isValidMinuteOrSecond, niceCeil, normaliseGroups, normalizeAttendDate, normalizeStr, processIntegrationData, processNeo4jData, renderInsideBarLabel, pillLabelRenderer_default as renderPillLabel, resolveChartMargins, resolveContainerPaddingLeft, scoreMatch, set12Hours, setDateByType, setHours, setMinutes, setSeconds, sortEvents, sortEventsAgenda, startOfLocalDay, toast, unionGroups, useBiaxial, useCalendarDnd, useCalendarDndAgenda, useChartClick, useChartDimensions, useChartHighlights, useChartLayout, useChartMinMax, useChartTooltips, useCommandPalette, useCurrentTimeIndicator, useCurrentTimeIndicatorAgenda, useDrag, useEventVisibility, useEventVisibilityAgenda, useIsMobile, useIsTruncated, useOpenTooltipForPeriod, useProcessedData, useRecents, useSeriesOpacity, useTheme, useTimeSeriesRange, visualForItem };
22942
+ export { AddButton, Agenda, AgendaDaysToShow, AgendaDaysToShowAgenda, AgendaView, AlertDialogActionBase, AlertDialogBase, AlertDialogCancelBase, AlertDialogContentBase, AlertDialogDescriptionBase, AlertDialogFooterBase, AlertDialogHeaderBase, AlertDialogOverlayBase, AlertDialogPortalBase, AlertDialogTitleBase, AlertDialogTriggerBase, AvatarBase, AvatarCombobox, AvatarFallbackBase, AvatarImageBase, BackButton, Badge, BreadcrumbBase, BreadcrumbEllipsisBase, BreadcrumbItemBase, BreadcrumbLinkBase, BreadcrumbListBase, BreadcrumbPageBase, BreadcrumbSeparatorBase, Brush_default as Brush, ButtonBase, ButtonGroupBase, CENTER_INDEX, CalendarBase, CalendarDndProvider, CalendarDndProviderAgenda, CardBase, CardContentBase, CardDescriptionBase, CardFooterBase, CardHeaderBase, CardTitleBase, CarouselBase, ChangeButton, Chart_default as Chart, ChartControls, ChartHeader, ChartTotalLegend_default as ChartTotalLegend, CheckButton, CheckboxBase, CheckboxTree, CircularProgress, CloseAllButton_default as CloseAllButton, CloseButton, CodeBlock, CollapsibleBase, CollapsibleContentBase, CollapsibleTriggerBase, Combobox, CommandBase, CommandDebouncedInputBase, CommandDialogBase, CommandEmptyBase, CommandGroupBase, CommandInputBase, CommandItemBase, CommandItemRow, CommandListBase, CommandPalette, CommandSeparatorBase, CommandShortcutBase, ContextMenuBase, ContextMenuCheckboxItemBase, ContextMenuContentBase, ContextMenuGroupBase, ContextMenuItemBase, ContextMenuLabelBase, ContextMenuPortalBase, ContextMenuRadioGroupBase, ContextMenuRadioItemBase, ContextMenuSeparatorBase, ContextMenuShortcutBase, ContextMenuSubBase, ContextMenuSubContentBase, ContextMenuSubTriggerBase, ContextMenuTriggerBase, ControlledCombobox, CopyButton, DateTimePicker, DayView, DayViewAgenda, DebouncedInput, DefaultEndHour, DefaultEndHourAgenda, DefaultStartHour, DefaultStartHourAgenda, DestructiveDialog, DialogBase, DialogCloseBase, DialogContentBase, DialogDescriptionBase, DialogFooterBase, DialogHeaderBase, DialogOverlayBase, DialogPortalBase, DialogTitleBase, DialogTriggerBase, DownloadButton, DraggableEvent2 as DraggableEvent, DraggableTooltip_default as DraggableTooltip, DrawerBase, DrawerCloseBase, DrawerContentBase, DrawerDescriptionBase, DrawerFooterBase, DrawerHeaderBase, DrawerOverlayBase, DrawerPortalBase, DrawerTitleBase, DrawerTriggerBase, DropDownMenuBase, DropDownMenuCheckboxItemBase, DropDownMenuContentBase, DropDownMenuGroupBase, DropDownMenuItemBase, DropDownMenuLabelBase, DropDownMenuPortalBase, DropDownMenuRadioGroupBase, DropDownMenuRadioItemBase, DropDownMenuSeparatorBase, DropDownMenuShortcutBase, DropDownMenuSubBase, DropDownMenuSubContentBase, DropDownMenuSubTriggerBase, DropDownMenuTriggerBase, DroppableCell, DroppableCellAgenda, EditButton, EndHour, EndHourAgenda, ErrorMessage_default as ErrorMessage, EventAgenda, EventCalendar, EventDetailModalAgenda, EventDialog, EventGap, EventGapAgenda, EventHeight, EventHeightAgenda, EventItem, EventItemAgenda, EventsPopup, FavoriteButton, FileAccept, FileUploader, FilterButton, GroupLabel, HideButton, Highlights_default as Highlights, HorizontalChart_default as HorizontalChart, HorizontalLegend_default as HorizontalLegend, HoverCardBase, HoverCardContentBase, HoverCardTriggerBase, ITEM_HEIGHT, InputBase, InputOTPBase, InputOTPGroupBase, InputOTPSeparatorBase, InputOTPSlotBase, IntegrationModal_default as IntegrationModal, Kbd, KbdGroup, LabelBase_default as LabelBase, Leaderboard, LikeButton, LoadingBase, LockButton, ModalBase, ModalCloseBase, ModalContentBase, ModalDescriptionBase, ModalFooterBase, ModalHeaderBase, ModalOverlayBase, ModalPortalBase, ModalTitleBase, ModalTriggerBase, ModeToggleBase, MonthView, MonthViewAgenda, MoreButton, MultiCombobox, MultiDayOverlay, MultiSelect, MultiSelectBase, MultiSelectContentBase, MultiSelectGroupBase, MultiSelectItemBase, MultiSelectSeparatorBase, MultiSelectTriggerBase, MultiSelectValueBase, NavigationMenuBase, NavigationMenuContentBase, NavigationMenuIndicatorBase, NavigationMenuItemBase, NavigationMenuLinkBase, NavigationMenuListBase, NavigationMenuTriggerBase, NavigationMenuViewportBase, NoData_default as NoData, NotificationButton, NumericInput, PeriodsDropdown_default as PeriodsDropdown, PieChart_default as PieChartComponent, PopoverAnchorBase, PopoverBase, PopoverContentBase, PopoverTriggerBase, ProgressBase, ProgressCirclesBase, ProgressPanelsBase, ProgressSegmentsBase, RadialMenu, RangePicker, RefreshButton, SaveButton, ScrollAreaBase, ScrollBarBase, SearchButton, Select, SelectBase, SelectContentBase, SelectEmpty, SelectGroupBase, SelectItemBase, SelectLabelBase, SelectScrollDownButtonBase, SelectScrollUpButtonBase, SelectSeparatorBase, SelectTriggerBase, SelectValueBase, SeparatorBase, SettingsButton, SheetBase, SheetCloseBase, SheetContentBase, SheetDescriptionBase, SheetFooterBase, SheetHeaderBase, SheetOverlayBase, SheetPortalBase, SheetTitleBase, SheetTriggerBase, ShowOnly_default as ShowOnly, SidebarBase, SidebarContentBase, SidebarFooterBase, SidebarGroupActionBase, SidebarGroupBase, SidebarGroupContentBase, SidebarGroupLabelBase, SidebarHeaderBase, SidebarInputBase, SidebarInsetBase, SidebarMenuActionBase, SidebarMenuBadgeBase, SidebarMenuBase, SidebarMenuButtonBase, SidebarMenuItemBase, SidebarMenuSkeletonBase, SidebarMenuSubBase, SidebarMenuSubButtonBase, SidebarMenuSubItemBase, SidebarProviderBase, SidebarRailBase, SidebarSeparatorBase, SidebarTriggerBase, SkeletonBase, SlideBase, StartHour, StartHourAgenda, StatusIndicator, SwitchBase, SystemTooltip_default as SystemTooltip, TableBase, TableBodyBase, TableCaptionBase, TableCellBase, TableFooterBase, TableHeadBase, TableHeaderBase, TableRowBase, TabsBase, TabsContentBase, TabsListBase, TabsTriggerBase, TextAreaBase, ThemeProviderBase, TimePicker, TimePickerInput, TimeSeries_default as TimeSeries, Toaster, TooltipBase, TooltipContentBase, TooltipProviderBase, TooltipSimple_default as TooltipSimple, TooltipTriggerBase, TooltipWithTotal_default as TooltipWithTotal, UndatedEvents, UniversalTooltipRenderer, UnlockButton, UploadButton, UseSideBarBase, VISIBLE_ITEMS, ViewButton, VisibilityButton, WeekCellsHeight, WeekCellsHeightAgenda, WeekView, WeekViewAgenda, YearViewAgenda, adaptDataForTooltip, addHoursToDate, addHoursToDateAgenda, addMinutesToDateAgenda, badgeVariants, buttonVariantsBase, compactTick, computeChartWidth, computeNiceMax, computeYAxisTickWidth, convert12HourTo24Hour, createGroup, createItem, createValueFormatter, createYTickFormatter, detectDataFields, detectXAxis, display12HourValue, filterAndScore, formatDurationAgenda, formatDurationAgendaDays, formatFieldName, formatLinePercentage, generateAdditionalColors, generateColorMap, getAgendaEventsForDay, getAgendaEventsForDayAgenda, getAllEventsForDay, getAllEventsForDayAgenda, getArrowByType, getAutoColorAgenda, getBorderRadiusClasses, getBorderRadiusClassesAgenda, getDateByType, getEventColorClasses, getEventColorClassesAgenda, getEventEndDate, getEventStartDate, getEventsForDay, getEventsForDayAgenda, getItems, getMaxDataValue, getMinDataValue, getSpanningEventsForDay, getSpanningEventsForDayAgenda, getValid12Hour, getValidArrow12Hour, getValidArrowHour, getValidArrowMinuteOrSecond, getValidArrowNumber, getValidHour, getValidMinuteOrSecond, getValidNumber, isMultiDayEvent, isMultiDayEventAgenda, isValid12Hour, isValidHour, isValidMinuteOrSecond, niceCeil, normaliseGroups, normalizeAttendDate, normalizeStr, processIntegrationData, processNeo4jData, renderInsideBarLabel, pillLabelRenderer_default as renderPillLabel, resolveChartMargins, resolveContainerPaddingLeft, scoreMatch, set12Hours, setDateByType, setHours, setMinutes, setSeconds, sortEvents, sortEventsAgenda, startOfLocalDay, toast, unionGroups, useBiaxial, useCalendarDnd, useCalendarDndAgenda, useChartClick, useChartDimensions, useChartHighlights, useChartLayout, useChartMinMax, useChartTooltips, useCommandPalette, useCurrentTimeIndicator, useCurrentTimeIndicatorAgenda, useDrag, useEventVisibility, useEventVisibilityAgenda, useIsMobile, useIsTruncated, useOpenTooltipForPeriod, useProcessedData, useRecents, useSeriesOpacity, useTheme, useTimeSeriesRange, visualForItem };