@getgreenline/blaze-ui 1.0.38 → 1.0.40

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.
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { Slot } from '@radix-ui/react-slot';
3
- import { ChevronRight, MoreHorizontal } from 'lucide-react';
3
+ import { MoreHorizontal, ChevronRight } from 'lucide-react';
4
4
  import { cn } from '../lib/utils.js';
5
5
 
6
6
  function Breadcrumb({ ...props }) {
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import useEmblaCarousel from 'embla-carousel-react';
4
- import { ArrowLeft, ArrowRight } from 'lucide-react';
4
+ import { ArrowRight, ArrowLeft } from 'lucide-react';
5
5
  import { cn } from '../lib/utils.js';
6
6
  import { Button } from './button.js';
7
7
 
@@ -16,6 +16,37 @@ export type ChartConfig = {
16
16
  theme: Record<keyof typeof THEMES, string>;
17
17
  });
18
18
  };
19
+ type ChartPayloadItem = {
20
+ color?: string;
21
+ dataKey?: string | number;
22
+ name?: string | number;
23
+ payload?: (Record<string, unknown> & {
24
+ fill?: string;
25
+ }) | null;
26
+ type?: string;
27
+ value?: string | number;
28
+ [key: string]: unknown;
29
+ };
30
+ type ChartTooltipContentProps = React.ComponentProps<"div"> & {
31
+ active?: boolean;
32
+ color?: string;
33
+ formatter?: (value: NonNullable<ChartPayloadItem["value"]>, name: NonNullable<ChartPayloadItem["name"]>, item: ChartPayloadItem, index: number, payload: ChartPayloadItem["payload"]) => React.ReactNode;
34
+ hideIndicator?: boolean;
35
+ hideLabel?: boolean;
36
+ indicator?: "line" | "dot" | "dashed";
37
+ label?: React.ReactNode;
38
+ labelClassName?: string;
39
+ labelFormatter?: (value: React.ReactNode, payload: ChartPayloadItem[]) => React.ReactNode;
40
+ labelKey?: string;
41
+ nameKey?: string;
42
+ payload?: ChartPayloadItem[];
43
+ };
44
+ type ChartLegendContentProps = React.ComponentProps<"div"> & {
45
+ hideIcon?: boolean;
46
+ nameKey?: string;
47
+ payload?: ChartPayloadItem[];
48
+ verticalAlign?: "top" | "middle" | "bottom";
49
+ };
19
50
  declare function ChartContainer({ id, className, children, config, ...props }: React.ComponentProps<"div"> & {
20
51
  config: ChartConfig;
21
52
  children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>["children"];
@@ -25,17 +56,8 @@ declare const ChartStyle: ({ id, config }: {
25
56
  config: ChartConfig;
26
57
  }) => import("react/jsx-runtime").JSX.Element | null;
27
58
  declare const ChartTooltip: typeof RechartsPrimitive.Tooltip;
28
- declare function ChartTooltipContent({ active, payload, className, indicator, hideLabel, hideIndicator, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, }: React.ComponentProps<typeof RechartsPrimitive.Tooltip> & React.ComponentProps<"div"> & {
29
- hideLabel?: boolean;
30
- hideIndicator?: boolean;
31
- indicator?: "line" | "dot" | "dashed";
32
- nameKey?: string;
33
- labelKey?: string;
34
- }): import("react/jsx-runtime").JSX.Element | null;
35
- declare const ChartLegend: typeof RechartsPrimitive.Legend;
36
- declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: React.ComponentProps<"div"> & Pick<RechartsPrimitive.LegendProps, "payload" | "verticalAlign"> & {
37
- hideIcon?: boolean;
38
- nameKey?: string;
39
- }): import("react/jsx-runtime").JSX.Element | null;
59
+ declare function ChartTooltipContent({ active, payload, className, indicator, hideLabel, hideIndicator, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, }: ChartTooltipContentProps): import("react/jsx-runtime").JSX.Element | null;
60
+ declare const ChartLegend: React.MemoExoticComponent<(outsideProps: RechartsPrimitive.LegendProps) => React.ReactPortal | null>;
61
+ declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: ChartLegendContentProps): import("react/jsx-runtime").JSX.Element | null;
40
62
  export { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, ChartStyle, };
41
63
  //# sourceMappingURL=chart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../src/components/chart.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,iBAAiB,MAAM,UAAU,CAAA;AAK7C,QAAA,MAAM,MAAM;;;CAAwC,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG;KACvB,CAAC,IAAI,MAAM,GAAG;QACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACvB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;KAC3B,GAAG,CACA;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GACjC;QAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,OAAO,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAChE;CACF,CAAA;AAkBD,iBAAS,cAAc,CAAC,EACtB,EAAE,EACF,SAAS,EACT,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,MAAM,EAAE,WAAW,CAAA;IACnB,QAAQ,EAAE,KAAK,CAAC,cAAc,CAC5B,OAAO,iBAAiB,CAAC,mBAAmB,CAC7C,CAAC,UAAU,CAAC,CAAA;CACd,2CAsBA;AAED,QAAA,MAAM,UAAU,GAAI,gBAAgB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,mDA+BtE,CAAA;AAED,QAAA,MAAM,YAAY,kCAA4B,CAAA;AAE9C,iBAAS,mBAAmB,CAAC,EAC3B,MAAM,EACN,OAAO,EACP,SAAS,EACT,SAAiB,EACjB,SAAiB,EACjB,aAAqB,EACrB,KAAK,EACL,cAAc,EACd,cAAc,EACd,SAAS,EACT,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,OAAO,CAAC,GACvD,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,kDA2HF;AAED,QAAA,MAAM,WAAW,iCAA2B,CAAA;AAE5C,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,QAAgB,EAChB,OAAO,EACP,aAAwB,EACxB,OAAO,GACR,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAC5B,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,SAAS,GAAG,eAAe,CAAC,GAAG;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,kDA4CF;AAyCD,OAAO,EACL,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,UAAU,GACX,CAAA"}
1
+ {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../src/components/chart.tsx"],"names":[],"mappings":"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"}
@@ -77,7 +77,7 @@ function ChartTooltipContent({ active, payload, className, indicator = "dot", hi
77
77
  .map((item, index) => {
78
78
  const key = `${nameKey || item.name || item.dataKey || "value"}`;
79
79
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
80
- const indicatorColor = color || item.payload.fill || item.color;
80
+ const indicatorColor = color || item.payload?.fill || item.color;
81
81
  return (jsx("div", { className: cn("[&>svg]:tw:text-muted-foreground tw:flex tw:w-full tw:flex-wrap tw:items-stretch tw:gap-2 [&>svg]:tw:h-2.5 [&>svg]:tw:w-2.5", indicator === "dot" && "tw:items-center"), children: formatter && item?.value !== undefined && item.name ? (formatter(item.value, item.name, item, index, item.payload)) : (jsxs(Fragment, { children: [itemConfig?.icon ? (jsx(itemConfig.icon, {})) : (!hideIndicator && (jsx("div", { className: cn("tw:shrink-0 tw:rounded-[2px] tw:border-(--color-border) tw:bg-(--color-bg)", {
82
82
  "tw:h-2.5 tw:w-2.5": indicator === "dot",
83
83
  "tw:w-1": indicator === "line",
@@ -86,7 +86,7 @@ function ChartTooltipContent({ active, payload, className, indicator = "dot", hi
86
86
  }), style: {
87
87
  "--color-bg": indicatorColor,
88
88
  "--color-border": indicatorColor,
89
- } }))), jsxs("div", { className: cn("tw:flex tw:flex-1 tw:justify-between tw:leading-none", nestLabel ? "tw:items-end" : "tw:items-center"), children: [jsxs("div", { className: "tw:grid tw:gap-1.5", children: [nestLabel ? tooltipLabel : null, jsx("span", { className: "tw:text-muted-foreground", children: itemConfig?.label || item.name })] }), item.value && (jsx("span", { className: "tw:text-foreground tw:font-mono tw:font-medium tw:tabular-nums", children: item.value.toLocaleString() }))] })] })) }, item.dataKey));
89
+ } }))), jsxs("div", { className: cn("tw:flex tw:flex-1 tw:justify-between tw:leading-none", nestLabel ? "tw:items-end" : "tw:items-center"), children: [jsxs("div", { className: "tw:grid tw:gap-1.5", children: [nestLabel ? tooltipLabel : null, jsx("span", { className: "tw:text-muted-foreground", children: itemConfig?.label || item.name })] }), item.value && (jsx("span", { className: "tw:text-foreground tw:font-mono tw:font-medium tw:tabular-nums", children: item.value.toLocaleString() }))] })] })) }, String(item.dataKey ?? item.name ?? index)));
90
90
  }) })] }));
91
91
  }
92
92
  const ChartLegend = RechartsPrimitive.Legend;
@@ -102,7 +102,7 @@ function ChartLegendContent({ className, hideIcon = false, payload, verticalAlig
102
102
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
103
103
  return (jsxs("div", { className: cn("[&>svg]:tw:text-muted-foreground tw:flex tw:items-center tw:gap-1.5 [&>svg]:tw:h-3 [&>svg]:tw:w-3"), children: [itemConfig?.icon && !hideIcon ? (jsx(itemConfig.icon, {})) : (jsx("div", { className: "tw:h-2 tw:w-2 tw:shrink-0 tw:rounded-[2px]", style: {
104
104
  backgroundColor: item.color,
105
- } })), itemConfig?.label] }, item.value));
105
+ } })), itemConfig?.label] }, String(item.value ?? item.dataKey ?? item.name)));
106
106
  }) }));
107
107
  }
108
108
  // Helper to extract item config from a payload.
@@ -1,6 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { CheckIcon, XIcon } from "lucide-react";
3
3
  export type SortDirection = "asc" | "desc" | null;
4
+ export type DataTableCellValue = React.ReactNode | Record<string, unknown> | DataTableRow[];
4
5
  export interface DataTableColumn<T> {
5
6
  key: string;
6
7
  label: string;
@@ -8,14 +9,14 @@ export interface DataTableColumn<T> {
8
9
  align?: "left" | "center" | "right";
9
10
  width?: string;
10
11
  className?: string;
11
- render?: (value: any, row: T, index: number, depth: number) => React.ReactNode;
12
+ render?: (value: DataTableCellValue, row: T, index: number, depth: number) => React.ReactNode;
12
13
  }
13
14
  export interface DataTableRow {
14
15
  id: string;
15
16
  children?: DataTableRow[];
16
- [key: string]: any;
17
+ [key: string]: DataTableCellValue;
17
18
  }
18
- export interface IClickableField<T = any> {
19
+ export interface IClickableField<T = DataTableRow> {
19
20
  field: string;
20
21
  onClick: (row: T) => void;
21
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../../src/components/data-table.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../../src/components/data-table.tsx"],"names":[],"mappings":"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"}
@@ -10,6 +10,15 @@ import { Button } from './button.js';
10
10
  import { Pagination, PaginationContent, PaginationItem, PaginationPrevious, PaginationNext, PaginationLink, PaginationEllipsis } from './pagination.js';
11
11
 
12
12
  const DEFAULT_PAGE_SIZE_OPTIONS = [5, 10, 25, 50];
13
+ function renderCellValue(value) {
14
+ if (value == null || React.isValidElement(value))
15
+ return value;
16
+ if (typeof value !== "object")
17
+ return value;
18
+ if (Array.isArray(value))
19
+ return value.length;
20
+ return String(value);
21
+ }
13
22
  function DataTable({ columns, data, onRowClick, onSelectionChange, selectedRowIds, onSort, sortState, expandable = false, renderExpandedRow, actions, className, pagination, treeData = false, reorderable = false, onReorder, onDragReorder, customFilterColumnsWhiteList, loading = false, loadingRows = 5, emptyState, clickableFields, showColumnVisibility = true, footerContent, expandedRowIds, onExpandedChange, reservePaginationSpace = false, striped = true, selectContentClassName, menuPopupClassName, }) {
14
23
  const [internalSelectedRows, setInternalSelectedRows] = React.useState(new Set());
15
24
  const [internalExpandedRows, setInternalExpandedRows] = React.useState(new Set());
@@ -108,15 +117,19 @@ function DataTable({ columns, data, onRowClick, onSelectionChange, selectedRowId
108
117
  }
109
118
  onSort?.(key, direction);
110
119
  };
111
- React.useMemo(() => {
112
- let result = [...data];
120
+ const processedData = React.useMemo(() => {
121
+ const result = [...data];
113
122
  if (!onSort && sortConfig.key && sortConfig.direction) {
114
123
  result.sort((a, b) => {
115
124
  const aValue = a[sortConfig.key];
116
125
  const bValue = b[sortConfig.key];
117
126
  if (aValue === bValue)
118
127
  return 0;
119
- const comparison = aValue < bValue ? -1 : 1;
128
+ const comparison = typeof aValue === "number" && typeof bValue === "number"
129
+ ? aValue - bValue
130
+ : String(aValue ?? "").localeCompare(String(bValue ?? ""), undefined, {
131
+ numeric: true,
132
+ });
120
133
  return sortConfig.direction === "asc" ? comparison : -comparison;
121
134
  });
122
135
  }
@@ -221,7 +234,7 @@ function DataTable({ columns, data, onRowClick, onSelectionChange, selectedRowId
221
234
  const clickableField = getClickableField(column.key);
222
235
  const cellContent = column.render
223
236
  ? column.render(row[column.key], row, rowIndex, depth)
224
- : row[column.key];
237
+ : renderCellValue(row[column.key]);
225
238
  return (jsx("td", { className: cn("tw:p-4 tw:align-middle tw:max-w-0 tw:overflow-hidden", column.align === "center" && "tw:text-center", column.align === "right" && "tw:text-right", column.className, rowBgClass), children: jsx("div", { className: cn("tw:truncate", clickableField && "tw:!text-primary"), style: {
226
239
  paddingLeft: colIndex === 0
227
240
  ? isExpandable
@@ -322,7 +335,7 @@ function DataTable({ columns, data, onRowClick, onSelectionChange, selectedRowId
322
335
  : sortConfig.direction === "desc"
323
336
  ? "descending"
324
337
  : "none"
325
- : undefined, className: cn("tw:!h-[40px] tw:px-4 tw:text-left tw:align-middle tw:font-medium tw:text-foreground tw:whitespace-nowrap", column.align === "center" && "tw:text-center", column.align === "right" && "tw:text-right"), style: { width: column.width }, children: column.sortable && onSort ? (jsxs("button", { onClick: () => !loading && handleSort(column.key), disabled: loading, "aria-label": `Sort by ${column.label}${sortConfig.key === column.key
338
+ : undefined, className: cn("tw:!h-[40px] tw:px-4 tw:text-left tw:align-middle tw:font-medium tw:text-foreground tw:whitespace-nowrap", column.align === "center" && "tw:text-center", column.align === "right" && "tw:text-right"), style: { width: column.width }, children: column.sortable ? (jsxs("button", { onClick: () => !loading && handleSort(column.key), disabled: loading, "aria-label": `Sort by ${column.label}${sortConfig.key === column.key
326
339
  ? sortConfig.direction === "asc"
327
340
  ? ", currently sorted ascending"
328
341
  : sortConfig.direction === "desc"
@@ -336,7 +349,7 @@ function DataTable({ columns, data, onRowClick, onSelectionChange, selectedRowId
336
349
  (hasRowSelection ? 1 : 0) +
337
350
  (isExpandable ? 1 : 0) +
338
351
  (reorderable ? 1 : 0), className: "tw:h-48", children: jsxs("div", { className: "tw:flex tw:flex-col tw:items-center tw:justify-center tw:h-full tw:text-center", children: [emptyState?.icon || (jsx("div", { className: "tw:h-12 tw:w-12 tw:rounded-full tw:bg-muted tw:flex tw:items-center tw:justify-center tw:mb-3", children: jsx(InboxIcon, { className: "tw:size-6 tw:text-muted-foreground" }) })), jsx("p", { className: "tw:text-base tw:font-medium tw:text-foreground", children: emptyState?.title || "No results found" }), jsx("p", { className: "tw:text-sm tw:text-muted-foreground tw:mt-1", children: emptyState?.description ||
339
- "There are no items to display." })] }) }) })) : (data.map((row, rowIndex) => renderRow(row, rowIndex, 0))) })] }) }), loading && (jsx("div", { className: "tw:absolute tw:inset-0 tw:z-20 tw:flex tw:items-center tw:justify-center tw:bg-card/50 tw:backdrop-blur-[1px]", children: jsxs("div", { className: "tw:flex tw:flex-col tw:items-center", children: [jsx(Loader2Icon, { className: "tw:size-8 tw:animate-spin tw:text-primary" }), data.length === 0 && (jsx("p", { className: "tw:text-sm tw:text-muted-foreground tw:mt-3", children: "Loading..." }))] }) }))] }), footerContent && (jsx("div", { className: "tw:border-t tw:px-4 tw:py-3 tw:bg-card", children: footerContent })), pagination &&
352
+ "There are no items to display." })] }) }) })) : (processedData.map((row, rowIndex) => renderRow(row, rowIndex, 0))) })] }) }), loading && (jsx("div", { className: "tw:absolute tw:inset-0 tw:z-20 tw:flex tw:items-center tw:justify-center tw:bg-card/50 tw:backdrop-blur-[1px]", children: jsxs("div", { className: "tw:flex tw:flex-col tw:items-center", children: [jsx(Loader2Icon, { className: "tw:size-8 tw:animate-spin tw:text-primary" }), data.length === 0 && (jsx("p", { className: "tw:text-sm tw:text-muted-foreground tw:mt-3", children: "Loading..." }))] }) }))] }), footerContent && (jsx("div", { className: "tw:border-t tw:px-4 tw:py-3 tw:bg-card", children: footerContent })), pagination &&
340
353
  (pagination.totalPages > 1 ||
341
354
  pagination.mode === "cursor" ||
342
355
  pagination.showTotalItems ||
@@ -1,7 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { Slot } from '@radix-ui/react-slot';
4
- import { FormProvider, useFormContext, useFormState, Controller } from 'react-hook-form';
4
+ import { FormProvider, Controller, useFormContext, useFormState } from 'react-hook-form';
5
5
  import { cn } from '../lib/utils.js';
6
6
  import { Label } from './label.js';
7
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"hierarchical-select.d.ts","sourceRoot":"","sources":["../../src/components/hierarchical-select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,UAAU,sBAAsB;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,UAAU,2BAA2B;IACnC,KAAK,EAAE,sBAAsB,EAAE,CAAA;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,UAAU,6BAA8B,SAAQ,2BAA2B;IACzE,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACxC;AAED,UAAU,4BAA6B,SAAQ,2BAA2B;IACxE,KAAK,EAAE,IAAI,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;CAC3C;AAED,KAAK,uBAAuB,GACxB,6BAA6B,GAC7B,4BAA4B,CAAA;AAgFhC,iBAAS,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CA+UzD;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAC7B,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,CAAA"}
1
+ {"version":3,"file":"hierarchical-select.d.ts","sourceRoot":"","sources":["../../src/components/hierarchical-select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,UAAU,sBAAsB;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,UAAU,2BAA2B;IACnC,KAAK,EAAE,sBAAsB,EAAE,CAAA;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,UAAU,6BAA8B,SAAQ,2BAA2B;IACzE,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACxC;AAED,UAAU,4BAA6B,SAAQ,2BAA2B;IACxE,KAAK,EAAE,IAAI,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;CAC3C;AAED,KAAK,uBAAuB,GACxB,6BAA6B,GAC7B,4BAA4B,CAAA;AAgFhC,iBAAS,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CAkVzD;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAC7B,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,CAAA"}
@@ -61,7 +61,7 @@ function countVisibleCategories(groups) {
61
61
  function HierarchicalSelect(props) {
62
62
  const { items, placeholder = "Select an option...", searchPlaceholder = "Search...", emptyMessage = "No results found", className, triggerStyle, disabled = false, label, } = props;
63
63
  const isMulti = props.multi === true;
64
- const multiValues = isMulti ? (props.value ?? []) : [];
64
+ const multiValues = React.useMemo(() => (isMulti ? (props.value ?? []) : []), [isMulti, props.value]);
65
65
  const singleValue = !isMulti ? props.value : undefined;
66
66
  const [open, setOpen] = React.useState(false);
67
67
  const [search, setSearch] = React.useState("");
@@ -3,7 +3,7 @@ import { type VariantProps } from "class-variance-authority";
3
3
  import { Button } from "../components/button";
4
4
  declare function InputGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
5
5
  declare const inputGroupAddonVariants: (props?: ({
6
- align?: "block-end" | "block-start" | "inline-end" | "inline-start" | null | undefined;
6
+ align?: "inline-end" | "inline-start" | "block-start" | "block-end" | null | undefined;
7
7
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
8
  declare function InputGroupAddon({ className, align, ...props }: React.ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>): import("react/jsx-runtime").JSX.Element;
9
9
  declare const inputGroupButtonVariants: (props?: ({
@@ -21,8 +21,8 @@ const inputGroupAddonVariants = cva("tw:text-muted-foreground tw:flex tw:h-auto
21
21
  align: {
22
22
  "inline-start": "tw:order-first tw:pl-3 tw:has-[>button]:ml-[-0.45rem] tw:has-[>kbd]:ml-[-0.35rem]",
23
23
  "inline-end": "tw:order-last tw:pr-3 tw:has-[>button]:mr-[-0.45rem] tw:has-[>kbd]:mr-[-0.35rem]",
24
- "block-start": "tw:order-first tw:w-full tw:justify-start tw:px-3 tw:pt-3 tw:[.tw:border-b]:pb-3 tw:group-has-[>input]/input-group:pt-2.5",
25
- "block-end": "tw:order-last tw:w-full tw:justify-start tw:px-3 tw:pb-3 tw:[.tw:border-t]:pt-3 tw:group-has-[>input]/input-group:pb-2.5",
24
+ "block-start": "tw:order-first tw:w-full tw:justify-start tw:px-3 tw:pt-3 tw:[&[class~='tw:border-b']]:pb-3 tw:group-has-[>input]/input-group:pt-2.5",
25
+ "block-end": "tw:order-last tw:w-full tw:justify-start tw:px-3 tw:pb-3 tw:[&[class~='tw:border-t']]:pt-3 tw:group-has-[>input]/input-group:pb-2.5",
26
26
  },
27
27
  },
28
28
  defaultVariants: {
@@ -1 +1 @@
1
- {"version":3,"file":"input-otp.d.ts","sourceRoot":"","sources":["../../src/components/input-otp.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAmB,MAAM,WAAW,CAAA;AAKrD,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,kBAAkB,EAClB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,GAAG;IACzC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,2CAYA;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ1E;AAED,iBAAS,YAAY,CAAC,EACpB,KAAK,EACL,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAA;CACd,2CAsBA;AAED,iBAAS,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAMnE;AAED,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAA"}
1
+ {"version":3,"file":"input-otp.d.ts","sourceRoot":"","sources":["../../src/components/input-otp.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAqC,MAAM,WAAW,CAAA;AAKvE,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,kBAAkB,EAClB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,GAAG;IACzC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,2CAYA;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ1E;AAED,iBAAS,YAAY,CAAC,EACpB,KAAK,EACL,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAA;CACd,2CAsBA;AAED,iBAAS,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAMnE;AAED,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAA"}
@@ -167,7 +167,7 @@ function LoginScreen({ className, splitLayout = true, splitImageWidthPercent = 4
167
167
  return;
168
168
  }
169
169
  event.preventDefault();
170
- let nextIndex = currentIndex;
170
+ let nextIndex;
171
171
  if (isHome) {
172
172
  nextIndex = enabledTabIndices[0] ?? currentIndex;
173
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"multi-select.d.ts","sourceRoot":"","sources":["../../src/components/multi-select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAClE,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,OAAO,EACP,KAAK,EACL,aAAa,EACb,WAA8B,EAC9B,IAAgB,EAChB,YAAqC,EACrC,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,gBAAgB,2CA4HlB;AAqDD,OAAO,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"multi-select.d.ts","sourceRoot":"","sources":["../../src/components/multi-select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAClE,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,OAAO,EACP,KAAK,EACL,aAAa,EACb,WAA8B,EAC9B,IAAgB,EAChB,YAAqC,EACrC,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,gBAAgB,2CA+HlB;AAqDD,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -5,6 +5,7 @@ import { ChevronDownIcon, CheckIcon } from 'lucide-react';
5
5
  import { cn } from '../lib/utils.js';
6
6
 
7
7
  function MultiSelect({ className, options, value, onValueChange, placeholder = "Select options", size = "default", emptyMessage = "No options available", disabled, ...props }) {
8
+ const isInvalid = props["aria-invalid"] === true || props["aria-invalid"] === "true";
8
9
  const valueRef = React.useRef(null);
9
10
  const selectedOptions = React.useMemo(() => options.filter((option) => value.includes(option.value)), [options, value]);
10
11
  const selectedLabels = React.useMemo(() => selectedOptions.map((option) => option.label), [selectedOptions]);
@@ -32,10 +33,10 @@ function MultiSelect({ className, options, value, onValueChange, placeholder = "
32
33
  : [...value, optionValue];
33
34
  onValueChange(nextValue);
34
35
  }
35
- return (jsxs(PopoverPrimitive.Root, { children: [jsx(PopoverPrimitive.Trigger, { asChild: true, children: jsxs("button", { type: "button", "data-slot": "multi-select-trigger", "data-size": size, disabled: disabled, className: cn("tw:!flex tw:!w-fit tw:!min-w-0 tw:!items-center tw:!justify-between tw:!gap-2 tw:!rounded-md tw:!border tw:!border-border tw:!bg-transparent tw:!px-3 tw:!py-2 tw:!text-[14px] tw:!shadow-xs tw:!transition-[color,box-shadow] tw:!outline-none", "focus-visible:tw:!border-ring focus-visible:tw:!ring-ring/50 focus-visible:tw:!ring-[3px]", "aria-invalid:tw:!border-destructive aria-invalid:tw:!ring-destructive/20 dark:aria-invalid:tw:!ring-destructive/40", "dark:tw:!bg-input/30 dark:hover:tw:!bg-input/50", "disabled:tw:!cursor-not-allowed disabled:tw:!opacity-50", "data-[size=default]:tw:!min-h-9 data-[size=sm]:tw:!min-h-8", className), ...props, children: [jsx("span", { ref: valueRef, "data-slot": "multi-select-value", className: cn("tw:!block tw:!min-w-0 tw:!flex-1 tw:!truncate tw:!text-left", selectedOptions.length === 0 && "tw:!text-muted-foreground"), children: selectedOptions.length === 0 ? placeholder : displayValue }), jsx(ChevronDownIcon, { className: "tw:!size-4 tw:!shrink-0 tw:!opacity-50" })] }) }), jsx(PopoverPrimitive.Portal, { children: jsx(PopoverPrimitive.Content, { "data-slot": "multi-select-content", align: "start", sideOffset: 4, className: "tw:!z-50 tw:!max-h-72 tw:!min-w-[var(--radix-popover-trigger-width)] tw:!overflow-y-auto tw:!rounded-md tw:!border tw:!bg-popover tw:!p-1 tw:!text-popover-foreground tw:!shadow-md tw:!outline-none data-[state=open]:tw:!animate-in data-[state=closed]:tw:!animate-out data-[state=closed]:tw:!fade-out-0 data-[state=open]:tw:!fade-in-0 data-[state=closed]:tw:!zoom-out-95 data-[state=open]:tw:!zoom-in-95", children: options.length === 0 ? (jsx("div", { className: "tw:!px-2 tw:!py-1.5 tw:!text-[14px] tw:!text-muted-foreground", children: emptyMessage })) : (options.map((option) => {
36
+ return (jsxs(PopoverPrimitive.Root, { children: [jsx(PopoverPrimitive.Trigger, { asChild: true, children: jsxs("button", { type: "button", "data-slot": "multi-select-trigger", "data-size": size, disabled: disabled, className: cn("tw:!flex tw:!w-fit tw:!min-w-0 tw:!items-center tw:!justify-between tw:!gap-2 tw:!rounded-md tw:!border tw:!border-border tw:!bg-transparent tw:!px-3 tw:!py-2 tw:!text-[14px] tw:!shadow-xs tw:!transition-[color,box-shadow] tw:!outline-none", "focus-visible:tw:!border-ring focus-visible:tw:!ring-ring/50 focus-visible:tw:!ring-[3px]", "aria-invalid:tw:!border-destructive aria-invalid:tw:!ring-destructive/20 dark:aria-invalid:tw:!ring-destructive/40", "dark:tw:!bg-input/30 dark:hover:tw:!bg-input/50", "disabled:tw:!cursor-not-allowed disabled:tw:!opacity-50", "data-[size=default]:tw:!min-h-9 data-[size=sm]:tw:!min-h-8", isInvalid && "tw:!border-destructive", className), ...props, children: [jsx("span", { ref: valueRef, "data-slot": "multi-select-value", className: cn("tw:!block tw:!min-w-0 tw:!flex-1 tw:!truncate tw:!text-left", selectedOptions.length === 0 && "tw:!text-muted-foreground"), children: selectedOptions.length === 0 ? placeholder : displayValue }), jsx(ChevronDownIcon, { className: "tw:!size-4 tw:!shrink-0 tw:!opacity-50" })] }) }), jsx(PopoverPrimitive.Portal, { children: jsx(PopoverPrimitive.Content, { "data-slot": "multi-select-content", align: "start", sideOffset: 4, className: "tw:!z-50 tw:!max-h-72 tw:!min-w-[var(--radix-popover-trigger-width)] tw:!overflow-y-auto tw:!rounded-md tw:!border tw:!bg-popover tw:!p-1 tw:!text-popover-foreground tw:!shadow-md tw:!outline-none data-[state=open]:tw:!animate-in data-[state=closed]:tw:!animate-out data-[state=closed]:tw:!fade-out-0 data-[state=open]:tw:!fade-in-0 data-[state=closed]:tw:!zoom-out-95 data-[state=open]:tw:!zoom-in-95", children: options.length === 0 ? (jsx("div", { className: "tw:!px-2 tw:!py-1.5 tw:!text-[14px] tw:!text-muted-foreground", children: emptyMessage })) : (options.map((option) => {
36
37
  const isSelected = value.includes(option.value);
37
- return (jsxs("button", { type: "button", "data-slot": "multi-select-item", disabled: option.disabled, className: cn("tw:!relative tw:!flex tw:!w-full tw:!cursor-default tw:!items-center tw:!gap-2 tw:!rounded-sm tw:!py-1.5 tw:!pr-2 tw:!pl-8 tw:!text-left tw:!text-[14px] tw:!outline-hidden tw:!select-none tw:!transition-colors", "hover:tw:!bg-accent hover:tw:!text-accent-foreground focus:tw:!bg-accent focus:tw:!text-accent-foreground", option.disabled &&
38
- "tw:!cursor-not-allowed tw:!bg-muted/50 tw:!text-muted-foreground tw:!opacity-60 hover:tw:!bg-muted/50 hover:tw:!text-muted-foreground"), onClick: () => toggleValue(option.value), children: [jsx("span", { className: "tw:!absolute tw:!left-2 tw:!flex tw:!size-3.5 tw:!items-center tw:!justify-center", children: isSelected ? jsx(CheckIcon, { className: "tw:!size-4" }) : null }), jsx("span", { className: "tw:!min-w-0 tw:!flex-1 tw:!truncate", children: option.label })] }, option.value));
38
+ return (jsxs("button", { type: "button", "data-slot": "multi-select-item", disabled: option.disabled, className: cn("tw:!relative tw:!flex tw:!w-full tw:!cursor-default tw:!items-center tw:!gap-2 tw:!rounded-sm tw:!py-1.5 tw:!pl-2 tw:!pr-8 tw:!text-left tw:!text-[14px] tw:!outline-hidden tw:!select-none tw:!transition-colors", "hover:tw:!bg-accent hover:tw:!text-accent-foreground focus:tw:!bg-accent focus:tw:!text-accent-foreground", option.disabled &&
39
+ "tw:!cursor-not-allowed tw:!bg-muted/50 tw:!text-muted-foreground tw:!opacity-60 hover:tw:!bg-muted/50 hover:tw:!text-muted-foreground"), onClick: () => toggleValue(option.value), children: [jsx("span", { className: "tw:!absolute tw:!right-2 tw:!flex tw:!size-3.5 tw:!items-center tw:!justify-center", children: isSelected ? jsx(CheckIcon, { className: "tw:!size-4" }) : null }), jsx("span", { className: "tw:!min-w-0 tw:!flex-1 tw:!truncate", children: option.label })] }, option.value));
39
40
  })) }) })] }));
40
41
  }
41
42
  function getCollapsedDisplayValue(labels, availableWidth, valueElement) {
@@ -1,5 +1,5 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from 'lucide-react';
2
+ import { MoreHorizontalIcon, ChevronRightIcon, ChevronLeftIcon } from 'lucide-react';
3
3
  import { cn } from '../lib/utils.js';
4
4
  import { buttonVariants } from './button.js';
5
5
 
@@ -1,8 +1,8 @@
1
1
  import * as React from "react";
2
- import * as ResizablePrimitive from "react-resizable-panels";
3
- declare function ResizablePanelGroup({ className, ...props }: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>): import("react/jsx-runtime").JSX.Element;
4
- declare function ResizablePanel({ ...props }: React.ComponentProps<typeof ResizablePrimitive.Panel>): import("react/jsx-runtime").JSX.Element;
5
- declare function ResizableHandle({ withHandle, className, ...props }: React.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {
2
+ import { Group as ResizablePanelGroupPrimitive, Panel as ResizablePanelPrimitive, Separator as ResizableHandlePrimitive } from "react-resizable-panels";
3
+ declare function ResizablePanelGroup({ className, ...props }: React.ComponentProps<typeof ResizablePanelGroupPrimitive>): import("react/jsx-runtime").JSX.Element;
4
+ declare function ResizablePanel({ ...props }: React.ComponentProps<typeof ResizablePanelPrimitive>): import("react/jsx-runtime").JSX.Element;
5
+ declare function ResizableHandle({ withHandle, className, ...props }: React.ComponentProps<typeof ResizableHandlePrimitive> & {
6
6
  withHandle?: boolean;
7
7
  }): import("react/jsx-runtime").JSX.Element;
8
8
  export { ResizablePanelGroup, ResizablePanel, ResizableHandle };
@@ -1 +1 @@
1
- {"version":3,"file":"resizable.d.ts","sourceRoot":"","sources":["../../src/components/resizable.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,kBAAkB,MAAM,wBAAwB,CAAA;AAI5D,iBAAS,mBAAmB,CAAC,EAC3B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,UAAU,CAAC,2CAW5D;AAED,iBAAS,cAAc,CAAC,EACtB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,KAAK,CAAC,2CAEvD;AAED,iBAAS,eAAe,CAAC,EACvB,UAAU,EACV,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,iBAAiB,CAAC,GAAG;IACrE,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,2CAiBA;AAED,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"resizable.d.ts","sourceRoot":"","sources":["../../src/components/resizable.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EACL,KAAK,IAAI,4BAA4B,EACrC,KAAK,IAAI,uBAAuB,EAChC,SAAS,IAAI,wBAAwB,EACtC,MAAM,wBAAwB,CAAA;AAI/B,iBAAS,mBAAmB,CAAC,EAC3B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,4BAA4B,CAAC,2CAW3D;AAED,iBAAS,cAAc,CAAC,EACtB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,uBAAuB,CAAC,2CAEtD;AAED,iBAAS,eAAe,CAAC,EACvB,UAAU,EACV,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,wBAAwB,CAAC,GAAG;IACzD,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,2CAiBA;AAED,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,eAAe,EAAE,CAAA"}
@@ -1,16 +1,16 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { GripVerticalIcon } from 'lucide-react';
3
- import * as ResizablePrimitive from 'react-resizable-panels';
3
+ import { Separator, Panel, Group } from 'react-resizable-panels';
4
4
  import { cn } from '../lib/utils.js';
5
5
 
6
6
  function ResizablePanelGroup({ className, ...props }) {
7
- return (jsx(ResizablePrimitive.PanelGroup, { "data-slot": "resizable-panel-group", className: cn("tw:flex tw:h-full tw:w-full data-[panel-group-direction=vertical]:tw:flex-col", className), ...props }));
7
+ return (jsx(Group, { "data-slot": "resizable-panel-group", className: cn("tw:flex tw:h-full tw:w-full data-[panel-group-direction=vertical]:tw:flex-col", className), ...props }));
8
8
  }
9
9
  function ResizablePanel({ ...props }) {
10
- return jsx(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
10
+ return jsx(Panel, { "data-slot": "resizable-panel", ...props });
11
11
  }
12
12
  function ResizableHandle({ withHandle, className, ...props }) {
13
- return (jsx(ResizablePrimitive.PanelResizeHandle, { "data-slot": "resizable-handle", className: cn("tw:bg-border focus-visible:tw:ring-ring tw:relative tw:flex tw:w-px tw:items-center tw:justify-center after:tw:absolute after:tw:inset-y-0 after:tw:left-1/2 after:tw:w-1 after:tw:-translate-x-1/2 focus-visible:tw:ring-1 focus-visible:tw:ring-offset-1 focus-visible:tw:outline-hidden data-[panel-group-direction=vertical]:tw:h-px data-[panel-group-direction=vertical]:tw:w-full data-[panel-group-direction=vertical]:after:tw:left-0 data-[panel-group-direction=vertical]:after:tw:h-1 data-[panel-group-direction=vertical]:after:tw:w-full data-[panel-group-direction=vertical]:after:tw:translate-x-0 data-[panel-group-direction=vertical]:after:tw:-translate-y-1/2 tw:[&[data-panel-group-direction=vertical]>div]:rotate-90", className), ...props, children: withHandle && (jsx("div", { className: "tw:bg-border tw:z-10 tw:flex tw:h-4 tw:w-3 tw:items-center tw:justify-center tw:rounded-xs tw:border", children: jsx(GripVerticalIcon, { className: "tw:size-2.5" }) })) }));
13
+ return (jsx(Separator, { "data-slot": "resizable-handle", className: cn("tw:bg-border focus-visible:tw:ring-ring tw:relative tw:flex tw:w-px tw:items-center tw:justify-center after:tw:absolute after:tw:inset-y-0 after:tw:left-1/2 after:tw:w-1 after:tw:-translate-x-1/2 focus-visible:tw:ring-1 focus-visible:tw:ring-offset-1 focus-visible:tw:outline-hidden data-[panel-group-direction=vertical]:tw:h-px data-[panel-group-direction=vertical]:tw:w-full data-[panel-group-direction=vertical]:after:tw:left-0 data-[panel-group-direction=vertical]:after:tw:h-1 data-[panel-group-direction=vertical]:after:tw:w-full data-[panel-group-direction=vertical]:after:tw:translate-x-0 data-[panel-group-direction=vertical]:after:tw:-translate-y-1/2 tw:[&[data-panel-group-direction=vertical]>div]:rotate-90", className), ...props, children: withHandle && (jsx("div", { className: "tw:bg-border tw:z-10 tw:flex tw:h-4 tw:w-3 tw:items-center tw:justify-center tw:rounded-xs tw:border", children: jsx(GripVerticalIcon, { className: "tw:size-2.5" }) })) }));
14
14
  }
15
15
 
16
16
  export { ResizableHandle, ResizablePanel, ResizablePanelGroup };
@@ -52,7 +52,7 @@ function SegmentedControl({ options, value, onValueChange, className, ariaLabel,
52
52
  const resolvedSize = size ?? "default";
53
53
  const containerRef = useRef(null);
54
54
  const handleKeyDown = (event, currentIndex) => {
55
- let newIndex = currentIndex;
55
+ let newIndex;
56
56
  switch (event.key) {
57
57
  case "ArrowLeft":
58
58
  case "ArrowUp":
@@ -1 +1 @@
1
- {"version":3,"file":"selection-panel.d.ts","sourceRoot":"","sources":["../../src/components/selection-panel.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,cAAc,CAAA;AAuBrB,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,YAAY;IACzD,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,MAAM,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACvC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,CAAC,EAAE,CAAA;IACnB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7B,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IACtC,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,uBAAuB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,CAAA;CAC9D;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,YAAY,EAAE,EACrD,IAAI,EACJ,OAAO,EACP,MAAM,EACN,KAAsB,EACtB,WAAW,EACX,cAAc,EACd,OAAO,EACP,eAAe,EACf,WAAW,EAAE,kBAAkB,EAC/B,OAAe,EACf,QAAgB,EAChB,cAA4B,EAC5B,aAA0B,EAC1B,cAA+B,EAC/B,iBAAqC,EACrC,eAAwB,EACxB,iBAA4B,EAC5B,qBAAqB,EACrB,oBAA0C,EAC1C,KAAa,EACb,QAAmB,EACnB,kBAAyB,EACzB,mBAAkF,EAClF,uBAAuB,GACxB,EAAE,mBAAmB,CAAC,CAAC,CAAC,2CAwfxB"}
1
+ {"version":3,"file":"selection-panel.d.ts","sourceRoot":"","sources":["../../src/components/selection-panel.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,cAAc,CAAA;AAqBrB,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,YAAY;IACzD,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,MAAM,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACvC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,CAAC,EAAE,CAAA;IACnB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7B,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IACtC,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,uBAAuB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,CAAA;CAC9D;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,YAAY,EAAE,EACrD,IAAI,EACJ,OAAO,EACP,MAAM,EACN,KAAsB,EACtB,WAAW,EACX,cAAc,EACd,OAAO,EACP,eAAe,EACf,WAAW,EAAE,kBAAkB,EAC/B,OAAe,EACf,QAAgB,EAChB,cAA4B,EAC5B,aAA0B,EAC1B,cAA+B,EAC/B,iBAAqC,EACrC,eAAwB,EACxB,iBAA4B,EAC5B,qBAAqB,EACrB,oBAA0C,EAC1C,KAAa,EACb,QAAmB,EACnB,kBAAyB,EACzB,mBAAkF,EAClF,uBAAuB,GACxB,EAAE,mBAAmB,CAAC,CAAC,CAAC,2CAyfxB"}
@@ -4,7 +4,7 @@ import { cn } from '../lib/utils.js';
4
4
  import { SearchBar } from './search-bar.js';
5
5
  import { DataTable } from './data-table.js';
6
6
  import { Button } from './button.js';
7
- import { Sheet, SheetContent, SheetTitle, SheetFooter } from './sheet.js';
7
+ import { Sheet, SheetContent, SheetTitle, SheetDescription, SheetFooter } from './sheet.js';
8
8
  import { VisuallyHidden } from './visually-hidden.js';
9
9
  import { AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction } from './alert-dialog.js';
10
10
 
@@ -144,7 +144,7 @@ function SelectionPanel({ open, onClose, onDone, title = "Select Items", descrip
144
144
  setExpandedAvailableRows((prev) => {
145
145
  const nextExpanded = new Set(prev);
146
146
  newlyAdded.forEach((id) => {
147
- let currentNode = availableItemsMap[id];
147
+ const currentNode = availableItemsMap[id];
148
148
  if (!currentNode)
149
149
  return;
150
150
  let parentId = currentNode.parentId;
@@ -199,7 +199,7 @@ function SelectionPanel({ open, onClose, onDone, title = "Select Items", descrip
199
199
  setShowConfirmDialog(false);
200
200
  onClose();
201
201
  }, [onClose]);
202
- return (jsxs(Fragment, { children: [jsx(Sheet, { open: open, onOpenChange: (isOpen) => !isOpen && handleClose(), children: jsxs(SheetContent, { side: "right", className: cn("tw:!p-0 tw:!z-[1200]"), overlayClassName: "tw:!z-[1200]", style: { width, maxWidth }, children: [jsx(VisuallyHidden, { children: jsx(SheetTitle, { children: title }) }), jsxs("div", { className: "tw:!flex tw:!h-full tw:!flex-col", children: [jsxs("div", { className: "tw:!flex tw:!flex-1 tw:!overflow-hidden", children: [jsxs("div", { className: "tw:!flex tw:!w-1/2 tw:!flex-col tw:!border-r", role: "region", "aria-labelledby": availableHeadingId, children: [jsxs("div", { className: "tw:!border-b tw:!p-4", children: [jsx("h2", { id: availableHeadingId, className: "tw:text-lg tw:!font-semibold tw:!mb-3", children: availableLabel }), jsx(SearchBar, { value: availableSearch, onChange: setAvailableSearch, onSearch: (term) => setAvailableSearchApplied(term), onClear: () => {
202
+ return (jsxs(Fragment, { children: [jsx(Sheet, { open: open, onOpenChange: (isOpen) => !isOpen && handleClose(), children: jsxs(SheetContent, { side: "right", className: cn("tw:!p-0 tw:!z-[1200]"), overlayClassName: "tw:!z-[1200]", style: { width, maxWidth }, children: [jsxs(VisuallyHidden, { children: [jsx(SheetTitle, { children: title }), description && jsx(SheetDescription, { children: description })] }), jsxs("div", { className: "tw:!flex tw:!h-full tw:!flex-col", children: [jsxs("div", { className: "tw:!flex tw:!flex-1 tw:!overflow-hidden", children: [jsxs("div", { className: "tw:!flex tw:!w-1/2 tw:!flex-col tw:!border-r", role: "region", "aria-labelledby": availableHeadingId, children: [jsxs("div", { className: "tw:!border-b tw:!p-4", children: [jsx("h2", { id: availableHeadingId, className: "tw:text-lg tw:!font-semibold tw:!mb-3", children: availableLabel }), jsx(SearchBar, { value: availableSearch, onChange: setAvailableSearch, onSearch: (term) => setAvailableSearchApplied(term), onClear: () => {
203
203
  setAvailableSearch("");
204
204
  setAvailableSearchApplied("");
205
205
  }, placeholder: `Search ${availableLabel.toLowerCase()}...`, inputAriaLabel: `Search within ${availableLabel}` }), jsx("div", { className: "tw:!flex tw:!justify-end tw:!mt-3", children: jsx(Button, { size: "sm", onClick: handleAddSelected, disabled: availableChecked.size === 0, className: availableChecked.size === 0
@@ -1,3 +1,4 @@
1
- declare function Spinner({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
1
+ import type { ComponentProps } from "react";
2
+ declare function Spinner({ className, ...props }: ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
2
3
  export { Spinner };
3
4
  //# sourceMappingURL=spinner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../src/components/spinner.tsx"],"names":[],"mappings":"AAIA,iBAAS,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CASpE;AAED,OAAO,EAAE,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../src/components/spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAK3C,iBAAS,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,CAAC,KAAK,CAAC,2CAS9D;AAED,OAAO,EAAE,OAAO,EAAE,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
 
3
3
  function BlazeDispatchLogo({ width = 28, height = 28 }) {
4
- return (jsxs("svg", { width: width, height: height, viewBox: "0 0 28 28", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsxs("g", { "clip-path": "url(#clip0_13_251)", children: [jsx("path", { d: "M0 6.42C0 2.87 2.87 0 6.42 0H21.59C25.13 0 28.01 2.87 28.01 6.42V21.59C28.01 25.13 25.14 28.01 21.59 28.01H6.42C2.88 28.01 0 25.14 0 21.59V6.42Z", fill: "#EB8D48" }), jsx("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M19.83 5.22994C18.53 4.61994 17.04 4.55994 15.69 5.04994C15 5.29994 14.38 5.68994 13.86 6.17994H9.9C9.53 6.17994 9.23 6.47994 9.23 6.84994C9.23 7.21994 9.53 7.51994 9.9 7.51994H12.82C12.76 7.63994 12.7 7.74994 12.64 7.86994C12.41 8.35994 12.26 8.91994 12.15 9.50994H7.44C7.07 9.50994 6.77 9.80994 6.77 10.1799C6.77 10.5499 7.07 10.8499 7.44 10.8499H12.02C11.99 11.4999 12.02 12.1799 12.06 12.8499H4.91C4.54 12.8499 4.24 13.1499 4.24 13.5199C4.24 13.8899 4.54 14.1899 4.91 14.1899H12.09C12.09 14.1899 12.16 14.1899 12.2 14.1899C12.38 15.5299 12.65 16.7499 12.87 17.5999C13.04 18.2899 13.18 18.7399 13.2 18.8099C13.22 18.8699 13.25 18.9199 13.29 18.9599C13.33 19.0099 13.38 19.0399 13.43 19.0699C13.48 19.0999 13.54 19.1099 13.6 19.1099C13.66 19.1099 13.72 19.0999 13.77 19.0799C13.89 19.0299 15.17 18.4899 16.72 17.5999C18.84 16.3999 21.48 14.5699 22.44 12.4999C23.04 11.1899 23.11 9.69994 22.62 8.33994C22.13 6.97994 21.12 5.87994 19.83 5.26994V5.22994ZM16.31 12.8199C15.79 12.5699 15.35 12.1799 15.05 11.6799C14.75 11.1799 14.6 10.6099 14.63 10.0299C14.66 9.44994 14.85 8.88994 15.19 8.41994C15.53 7.94994 16 7.59994 16.55 7.39994C17.09 7.19994 17.68 7.16994 18.24 7.30994C18.8 7.44994 19.31 7.74994 19.7 8.17994C20.09 8.60994 20.34 9.13994 20.43 9.71994C20.52 10.2899 20.43 10.8799 20.19 11.4099C19.86 12.1199 19.27 12.6599 18.54 12.9299C17.81 13.1999 17.01 13.1599 16.31 12.8299V12.8199Z", fill: "white" }), jsx("path", { d: "M7.07 17.56H11.51C11.73 18.46 11.91 19.07 11.94 19.16C12.01 19.39 12.13 19.61 12.29 19.8C12.45 19.98 12.65 20.13 12.87 20.24C13.09 20.34 13.33 20.4 13.57 20.4C13.81 20.4 14.06 20.36 14.28 20.26C14.45 20.19 16.27 19.41 18.28 18.18C18.54 18.02 18.81 17.85 19.08 17.67C19.11 17.7 19.14 17.74 19.15 17.78L20.47 22.19C20.47 22.19 20.47 22.28 20.47 22.32C20.46 22.36 20.43 22.4 20.4 22.43C20.32 22.5 20.21 22.54 20.11 22.53H5.75C5.64 22.53 5.54 22.5 5.46 22.43C5.43 22.4 5.4 22.36 5.39 22.32C5.38 22.28 5.37 22.23 5.39 22.19L6.71 17.78C6.74 17.71 6.79 17.65 6.86 17.61C6.93 17.57 7 17.55 7.08 17.56H7.07Z", fill: "white" })] }), jsx("defs", { children: jsx("clipPath", { id: "clip0_13_251", children: jsx("rect", { width: "28", height: "28", fill: "white" }) }) })] }));
4
+ return (jsxs("svg", { width: width, height: height, viewBox: "0 0 28 28", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsxs("g", { clipPath: "url(#clip0_13_251)", children: [jsx("path", { d: "M0 6.42C0 2.87 2.87 0 6.42 0H21.59C25.13 0 28.01 2.87 28.01 6.42V21.59C28.01 25.13 25.14 28.01 21.59 28.01H6.42C2.88 28.01 0 25.14 0 21.59V6.42Z", fill: "#EB8D48" }), jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M19.83 5.22994C18.53 4.61994 17.04 4.55994 15.69 5.04994C15 5.29994 14.38 5.68994 13.86 6.17994H9.9C9.53 6.17994 9.23 6.47994 9.23 6.84994C9.23 7.21994 9.53 7.51994 9.9 7.51994H12.82C12.76 7.63994 12.7 7.74994 12.64 7.86994C12.41 8.35994 12.26 8.91994 12.15 9.50994H7.44C7.07 9.50994 6.77 9.80994 6.77 10.1799C6.77 10.5499 7.07 10.8499 7.44 10.8499H12.02C11.99 11.4999 12.02 12.1799 12.06 12.8499H4.91C4.54 12.8499 4.24 13.1499 4.24 13.5199C4.24 13.8899 4.54 14.1899 4.91 14.1899H12.09C12.09 14.1899 12.16 14.1899 12.2 14.1899C12.38 15.5299 12.65 16.7499 12.87 17.5999C13.04 18.2899 13.18 18.7399 13.2 18.8099C13.22 18.8699 13.25 18.9199 13.29 18.9599C13.33 19.0099 13.38 19.0399 13.43 19.0699C13.48 19.0999 13.54 19.1099 13.6 19.1099C13.66 19.1099 13.72 19.0999 13.77 19.0799C13.89 19.0299 15.17 18.4899 16.72 17.5999C18.84 16.3999 21.48 14.5699 22.44 12.4999C23.04 11.1899 23.11 9.69994 22.62 8.33994C22.13 6.97994 21.12 5.87994 19.83 5.26994V5.22994ZM16.31 12.8199C15.79 12.5699 15.35 12.1799 15.05 11.6799C14.75 11.1799 14.6 10.6099 14.63 10.0299C14.66 9.44994 14.85 8.88994 15.19 8.41994C15.53 7.94994 16 7.59994 16.55 7.39994C17.09 7.19994 17.68 7.16994 18.24 7.30994C18.8 7.44994 19.31 7.74994 19.7 8.17994C20.09 8.60994 20.34 9.13994 20.43 9.71994C20.52 10.2899 20.43 10.8799 20.19 11.4099C19.86 12.1199 19.27 12.6599 18.54 12.9299C17.81 13.1999 17.01 13.1599 16.31 12.8299V12.8199Z", fill: "white" }), jsx("path", { d: "M7.07 17.56H11.51C11.73 18.46 11.91 19.07 11.94 19.16C12.01 19.39 12.13 19.61 12.29 19.8C12.45 19.98 12.65 20.13 12.87 20.24C13.09 20.34 13.33 20.4 13.57 20.4C13.81 20.4 14.06 20.36 14.28 20.26C14.45 20.19 16.27 19.41 18.28 18.18C18.54 18.02 18.81 17.85 19.08 17.67C19.11 17.7 19.14 17.74 19.15 17.78L20.47 22.19C20.47 22.19 20.47 22.28 20.47 22.32C20.46 22.36 20.43 22.4 20.4 22.43C20.32 22.5 20.21 22.54 20.11 22.53H5.75C5.64 22.53 5.54 22.5 5.46 22.43C5.43 22.4 5.4 22.36 5.39 22.32C5.38 22.28 5.37 22.23 5.39 22.19L6.71 17.78C6.74 17.71 6.79 17.65 6.86 17.61C6.93 17.57 7 17.55 7.08 17.56H7.07Z", fill: "white" })] }), jsx("defs", { children: jsx("clipPath", { id: "clip0_13_251", children: jsx("rect", { width: "28", height: "28", fill: "white" }) }) })] }));
5
5
  }
6
6
 
7
7
  export { BlazeDispatchLogo };
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
 
3
3
  function BlazeInsightsLogo({ width = 28, height = 28 }) {
4
- return (jsxs("svg", { width: width, height: height, viewBox: "0 0 28 28", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsxs("g", { "clip-path": "url(#clip0_13_302)", children: [jsx("path", { d: "M0 5.83C0 2.61 2.61 0 5.83 0H22.16C25.38 0 27.99 2.61 27.99 5.83V22.16C27.99 25.38 25.38 27.99 22.16 27.99H5.83C2.61 27.99 0 25.38 0 22.16V5.83Z", fill: "#FFD500" }), jsx("path", { d: "M16.68 11.7C17.0003 11.7 17.26 11.4404 17.26 11.12C17.26 10.7997 17.0003 10.54 16.68 10.54C16.3597 10.54 16.1 10.7997 16.1 11.12C16.1 11.4404 16.3597 11.7 16.68 11.7Z", fill: "white" }), jsx("path", { d: "M14 14C14.3203 14 14.58 13.7403 14.58 13.42C14.58 13.0996 14.3203 12.84 14 12.84C13.6797 12.84 13.42 13.0996 13.42 13.42C13.42 13.7403 13.6797 14 14 14Z", fill: "white" }), jsx("path", { d: "M17.85 7.39999C18.1703 7.39999 18.43 7.14032 18.43 6.81999C18.43 6.49967 18.1703 6.23999 17.85 6.23999C17.5297 6.23999 17.27 6.49967 17.27 6.81999C17.27 7.14032 17.5297 7.39999 17.85 7.39999Z", fill: "white" }), jsx("path", { d: "M19.73 18.45C20.0503 18.45 20.31 18.1904 20.31 17.87C20.31 17.5497 20.0503 17.29 19.73 17.29C19.4097 17.29 19.15 17.5497 19.15 17.87C19.15 18.1904 19.4097 18.45 19.73 18.45Z", fill: "white" }), jsx("path", { d: "M20.54 14.68C20.8603 14.68 21.12 14.4203 21.12 14.1C21.12 13.7797 20.8603 13.52 20.54 13.52C20.2197 13.52 19.96 13.7797 19.96 14.1C19.96 14.4203 20.2197 14.68 20.54 14.68Z", fill: "white" }), jsx("path", { d: "M24.04 13.24C24.3603 13.24 24.62 12.9803 24.62 12.66C24.62 12.3396 24.3603 12.08 24.04 12.08C23.7197 12.08 23.46 12.3396 23.46 12.66C23.46 12.9803 23.7197 13.24 24.04 13.24Z", fill: "white" }), jsx("path", { d: "M9.15 17.57C9.47032 17.57 9.73 17.3104 9.73 16.99C9.73 16.6697 9.47032 16.41 9.15 16.41C8.82967 16.41 8.57 16.6697 8.57 16.99C8.57 17.3104 8.82967 17.57 9.15 17.57Z", fill: "white" }), jsx("path", { d: "M12.55 19.42C12.8703 19.42 13.13 19.1603 13.13 18.84C13.13 18.5197 12.8703 18.26 12.55 18.26C12.2297 18.26 11.97 18.5197 11.97 18.84C11.97 19.1603 12.2297 19.42 12.55 19.42Z", fill: "white" }), jsx("path", { d: "M6.16 13.52C6.48033 13.52 6.74 13.2603 6.74 12.94C6.74 12.6197 6.48033 12.36 6.16 12.36C5.83968 12.36 5.58 12.6197 5.58 12.94C5.58 13.2603 5.83968 13.52 6.16 13.52Z", fill: "white" }), jsx("path", { d: "M10.37 10.7201C10.6903 10.7201 10.95 10.4604 10.95 10.1401C10.95 9.81973 10.6903 9.56006 10.37 9.56006C10.0497 9.56006 9.79 9.81973 9.79 10.1401C9.79 10.4604 10.0497 10.7201 10.37 10.7201Z", fill: "white" }), jsx("path", { d: "M3.96 17.28C4.28032 17.28 4.54 17.0203 4.54 16.7C4.54 16.3797 4.28032 16.12 3.96 16.12C3.63967 16.12 3.38 16.3797 3.38 16.7C3.38 17.0203 3.63967 17.28 3.96 17.28Z", fill: "white" }), jsx("path", { d: "M7.66 21.76C7.98033 21.76 8.24 21.5003 8.24 21.18C8.24 20.8597 7.98033 20.6 7.66 20.6C7.33968 20.6 7.08 20.8597 7.08 21.18C7.08 21.5003 7.33968 21.76 7.66 21.76Z", fill: "white" }), jsx("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M24.04 9.16001C24.04 10.77 22.73 12.08 21.12 12.08C20.7 12.08 20.31 11.99 19.95 11.84L17.65 15.66C18.13 16.09 18.43 16.71 18.43 17.4C18.43 18.69 17.39 19.73 16.1 19.73C14.81 19.73 13.77 18.69 13.77 17.4C13.77 17.15 13.81 16.9 13.88 16.67L10.41 14.75C10.09 15.15 9.6 15.4 9.05 15.4C8.72 15.4 8.42 15.31 8.16 15.15L5.89 18.54C6.26 18.8 6.5 19.24 6.5 19.73C6.5 20.54 5.85 21.19 5.04 21.19C4.23 21.19 3.58 20.54 3.58 19.73C3.58 18.92 4.23 18.27 5.04 18.27C5.25 18.27 5.45 18.32 5.64 18.4L7.92 14.99C7.54 14.67 7.3 14.19 7.3 13.66C7.3 12.69 8.08 11.91 9.05 11.91C10.02 11.91 10.8 12.69 10.8 13.66C10.8 13.97 10.72 14.26 10.58 14.52L14 16.41C14.37 15.62 15.18 15.08 16.11 15.08C16.6 15.08 17.06 15.23 17.44 15.49L19.71 11.72C18.82 11.22 18.22 10.27 18.22 9.18001C18.22 7.57001 19.53 6.26001 21.14 6.26001C22.75 6.26001 24.06 7.57001 24.06 9.18001L24.04 9.16001Z", fill: "white" })] }), jsx("defs", { children: jsx("clipPath", { id: "clip0_13_302", children: jsx("rect", { width: "28", height: "28", fill: "white" }) }) })] }));
4
+ return (jsxs("svg", { width: width, height: height, viewBox: "0 0 28 28", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsxs("g", { clipPath: "url(#clip0_13_302)", children: [jsx("path", { d: "M0 5.83C0 2.61 2.61 0 5.83 0H22.16C25.38 0 27.99 2.61 27.99 5.83V22.16C27.99 25.38 25.38 27.99 22.16 27.99H5.83C2.61 27.99 0 25.38 0 22.16V5.83Z", fill: "#FFD500" }), jsx("path", { d: "M16.68 11.7C17.0003 11.7 17.26 11.4404 17.26 11.12C17.26 10.7997 17.0003 10.54 16.68 10.54C16.3597 10.54 16.1 10.7997 16.1 11.12C16.1 11.4404 16.3597 11.7 16.68 11.7Z", fill: "white" }), jsx("path", { d: "M14 14C14.3203 14 14.58 13.7403 14.58 13.42C14.58 13.0996 14.3203 12.84 14 12.84C13.6797 12.84 13.42 13.0996 13.42 13.42C13.42 13.7403 13.6797 14 14 14Z", fill: "white" }), jsx("path", { d: "M17.85 7.39999C18.1703 7.39999 18.43 7.14032 18.43 6.81999C18.43 6.49967 18.1703 6.23999 17.85 6.23999C17.5297 6.23999 17.27 6.49967 17.27 6.81999C17.27 7.14032 17.5297 7.39999 17.85 7.39999Z", fill: "white" }), jsx("path", { d: "M19.73 18.45C20.0503 18.45 20.31 18.1904 20.31 17.87C20.31 17.5497 20.0503 17.29 19.73 17.29C19.4097 17.29 19.15 17.5497 19.15 17.87C19.15 18.1904 19.4097 18.45 19.73 18.45Z", fill: "white" }), jsx("path", { d: "M20.54 14.68C20.8603 14.68 21.12 14.4203 21.12 14.1C21.12 13.7797 20.8603 13.52 20.54 13.52C20.2197 13.52 19.96 13.7797 19.96 14.1C19.96 14.4203 20.2197 14.68 20.54 14.68Z", fill: "white" }), jsx("path", { d: "M24.04 13.24C24.3603 13.24 24.62 12.9803 24.62 12.66C24.62 12.3396 24.3603 12.08 24.04 12.08C23.7197 12.08 23.46 12.3396 23.46 12.66C23.46 12.9803 23.7197 13.24 24.04 13.24Z", fill: "white" }), jsx("path", { d: "M9.15 17.57C9.47032 17.57 9.73 17.3104 9.73 16.99C9.73 16.6697 9.47032 16.41 9.15 16.41C8.82967 16.41 8.57 16.6697 8.57 16.99C8.57 17.3104 8.82967 17.57 9.15 17.57Z", fill: "white" }), jsx("path", { d: "M12.55 19.42C12.8703 19.42 13.13 19.1603 13.13 18.84C13.13 18.5197 12.8703 18.26 12.55 18.26C12.2297 18.26 11.97 18.5197 11.97 18.84C11.97 19.1603 12.2297 19.42 12.55 19.42Z", fill: "white" }), jsx("path", { d: "M6.16 13.52C6.48033 13.52 6.74 13.2603 6.74 12.94C6.74 12.6197 6.48033 12.36 6.16 12.36C5.83968 12.36 5.58 12.6197 5.58 12.94C5.58 13.2603 5.83968 13.52 6.16 13.52Z", fill: "white" }), jsx("path", { d: "M10.37 10.7201C10.6903 10.7201 10.95 10.4604 10.95 10.1401C10.95 9.81973 10.6903 9.56006 10.37 9.56006C10.0497 9.56006 9.79 9.81973 9.79 10.1401C9.79 10.4604 10.0497 10.7201 10.37 10.7201Z", fill: "white" }), jsx("path", { d: "M3.96 17.28C4.28032 17.28 4.54 17.0203 4.54 16.7C4.54 16.3797 4.28032 16.12 3.96 16.12C3.63967 16.12 3.38 16.3797 3.38 16.7C3.38 17.0203 3.63967 17.28 3.96 17.28Z", fill: "white" }), jsx("path", { d: "M7.66 21.76C7.98033 21.76 8.24 21.5003 8.24 21.18C8.24 20.8597 7.98033 20.6 7.66 20.6C7.33968 20.6 7.08 20.8597 7.08 21.18C7.08 21.5003 7.33968 21.76 7.66 21.76Z", fill: "white" }), jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M24.04 9.16001C24.04 10.77 22.73 12.08 21.12 12.08C20.7 12.08 20.31 11.99 19.95 11.84L17.65 15.66C18.13 16.09 18.43 16.71 18.43 17.4C18.43 18.69 17.39 19.73 16.1 19.73C14.81 19.73 13.77 18.69 13.77 17.4C13.77 17.15 13.81 16.9 13.88 16.67L10.41 14.75C10.09 15.15 9.6 15.4 9.05 15.4C8.72 15.4 8.42 15.31 8.16 15.15L5.89 18.54C6.26 18.8 6.5 19.24 6.5 19.73C6.5 20.54 5.85 21.19 5.04 21.19C4.23 21.19 3.58 20.54 3.58 19.73C3.58 18.92 4.23 18.27 5.04 18.27C5.25 18.27 5.45 18.32 5.64 18.4L7.92 14.99C7.54 14.67 7.3 14.19 7.3 13.66C7.3 12.69 8.08 11.91 9.05 11.91C10.02 11.91 10.8 12.69 10.8 13.66C10.8 13.97 10.72 14.26 10.58 14.52L14 16.41C14.37 15.62 15.18 15.08 16.11 15.08C16.6 15.08 17.06 15.23 17.44 15.49L19.71 11.72C18.82 11.22 18.22 10.27 18.22 9.18001C18.22 7.57001 19.53 6.26001 21.14 6.26001C22.75 6.26001 24.06 7.57001 24.06 9.18001L24.04 9.16001Z", fill: "white" })] }), jsx("defs", { children: jsx("clipPath", { id: "clip0_13_302", children: jsx("rect", { width: "28", height: "28", fill: "white" }) }) })] }));
5
5
  }
6
6
 
7
7
  export { BlazeInsightsLogo };
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
 
3
3
  function BlazePayLogo({ width = 29, height = 31 }) {
4
- return (jsxs("svg", { width: width, height: height, viewBox: "0 0 29 31", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsxs("g", { "clip-path": "url(#clip0_13_234)", children: [jsx("path", { d: "M21.43 10.88L15.23 26.17C14.87 27.06 14.36 27.89 13.71 28.61C15.32 29.67 17.2 30.24 19.13 30.23C24.57 30.23 28.97 25.84 28.97 20.42C28.97 15.79 25.75 11.91 21.42 10.88H21.43Z", fill: "#45DCC1" }), jsx("path", { d: "M16.51 0.54C15.61 0.18 14.65 0 13.67 0C12.7 0 11.74 0.21 10.84 0.58C9.95 0.96 9.13 1.51 8.45 2.2C7.77 2.89 7.23 3.71 6.87 4.61L0.540003 20.24C-0.989997 24.01 0.840003 28.31 4.63 29.83C5.53 30.19 6.49 30.38 7.47 30.37C8.44 30.37 9.4 30.16 10.3 29.79C11.19 29.41 12.01 28.86 12.69 28.17C13.37 27.48 13.91 26.66 14.27 25.76L20.61 10.13C22.14 6.36 20.31 2.06 16.52 0.54H16.51ZM12.01 25.3C11.85 25.69 11.6 26.05 11.3 26.34C10 24.64 9.3 22.55 9.3 20.41C9.3 15.4 13.07 11.27 17.94 10.67L12.01 25.29V25.3Z", fill: "#29333B" })] }), jsx("defs", { children: jsx("clipPath", { id: "clip0_13_234", children: jsx("rect", { width: "29", height: "31", fill: "white" }) }) })] }));
4
+ return (jsxs("svg", { width: width, height: height, viewBox: "0 0 29 31", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsxs("g", { clipPath: "url(#clip0_13_234)", children: [jsx("path", { d: "M21.43 10.88L15.23 26.17C14.87 27.06 14.36 27.89 13.71 28.61C15.32 29.67 17.2 30.24 19.13 30.23C24.57 30.23 28.97 25.84 28.97 20.42C28.97 15.79 25.75 11.91 21.42 10.88H21.43Z", fill: "#45DCC1" }), jsx("path", { d: "M16.51 0.54C15.61 0.18 14.65 0 13.67 0C12.7 0 11.74 0.21 10.84 0.58C9.95 0.96 9.13 1.51 8.45 2.2C7.77 2.89 7.23 3.71 6.87 4.61L0.540003 20.24C-0.989997 24.01 0.840003 28.31 4.63 29.83C5.53 30.19 6.49 30.38 7.47 30.37C8.44 30.37 9.4 30.16 10.3 29.79C11.19 29.41 12.01 28.86 12.69 28.17C13.37 27.48 13.91 26.66 14.27 25.76L20.61 10.13C22.14 6.36 20.31 2.06 16.52 0.54H16.51ZM12.01 25.3C11.85 25.69 11.6 26.05 11.3 26.34C10 24.64 9.3 22.55 9.3 20.41C9.3 15.4 13.07 11.27 17.94 10.67L12.01 25.29V25.3Z", fill: "#29333B" })] }), jsx("defs", { children: jsx("clipPath", { id: "clip0_13_234", children: jsx("rect", { width: "29", height: "31", fill: "white" }) }) })] }));
5
5
  }
6
6
 
7
7
  export { BlazePayLogo };
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
 
3
3
  function BlazeSitesLogo({ width = 28, height = 28 }) {
4
- return (jsxs("svg", { width: width, height: height, viewBox: "0 0 28 28", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsxs("g", { "clip-path": "url(#clip0_13_335)", children: [jsx("path", { d: "M25.03 3.37H2.76V25.13H25.03V3.37Z", fill: "white" }), jsx("path", { d: "M21.69 0H6.31C2.82 0 0 2.82 0 6.31V21.69C0 25.18 2.82 28 6.31 28H21.69C25.18 28 28 25.18 28 21.69V6.31C28 2.82 25.18 0 21.69 0ZM4.43 5.29C4.43 4.91 4.73 4.61 5.11 4.61H22.78C23.16 4.61 23.46 4.91 23.46 5.29V7.94C23.46 8.32 23.16 8.62 22.78 8.62H5.12C4.74 8.62 4.44 8.32 4.44 7.94V5.29H4.43ZM9.88 23.55C9.88 23.95 9.56 24.27 9.16 24.27H5.15C4.75 24.27 4.43 23.95 4.43 23.55V11.34C4.43 10.94 4.75 10.62 5.15 10.62H9.16C9.56 10.62 9.88 10.94 9.88 11.34V23.55ZM11.28 11.34C11.28 10.94 11.6 10.62 12 10.62H16.01C16.41 10.62 16.73 10.94 16.73 11.34V16.42C16.73 16.82 16.41 17.14 16.01 17.14H12C11.6 17.14 11.28 16.82 11.28 16.42V11.34ZM23.47 23.47C23.47 23.85 23.17 24.15 22.79 24.15H12C11.62 24.15 11.32 23.85 11.32 23.47V19.82C11.32 19.44 11.62 19.14 12 19.14H22.79C23.17 19.14 23.47 19.44 23.47 19.82V23.47ZM23.57 16.42C23.57 16.82 23.25 17.14 22.85 17.14H18.84C18.44 17.14 18.12 16.82 18.12 16.42V11.34C18.12 10.94 18.44 10.62 18.84 10.62H22.85C23.25 10.62 23.57 10.94 23.57 11.34V16.42Z", fill: "#2BB2DC" })] }), jsx("defs", { children: jsx("clipPath", { id: "clip0_13_335", children: jsx("rect", { width: "28", height: "28", fill: "white" }) }) })] }));
4
+ return (jsxs("svg", { width: width, height: height, viewBox: "0 0 28 28", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsxs("g", { clipPath: "url(#clip0_13_335)", children: [jsx("path", { d: "M25.03 3.37H2.76V25.13H25.03V3.37Z", fill: "white" }), jsx("path", { d: "M21.69 0H6.31C2.82 0 0 2.82 0 6.31V21.69C0 25.18 2.82 28 6.31 28H21.69C25.18 28 28 25.18 28 21.69V6.31C28 2.82 25.18 0 21.69 0ZM4.43 5.29C4.43 4.91 4.73 4.61 5.11 4.61H22.78C23.16 4.61 23.46 4.91 23.46 5.29V7.94C23.46 8.32 23.16 8.62 22.78 8.62H5.12C4.74 8.62 4.44 8.32 4.44 7.94V5.29H4.43ZM9.88 23.55C9.88 23.95 9.56 24.27 9.16 24.27H5.15C4.75 24.27 4.43 23.95 4.43 23.55V11.34C4.43 10.94 4.75 10.62 5.15 10.62H9.16C9.56 10.62 9.88 10.94 9.88 11.34V23.55ZM11.28 11.34C11.28 10.94 11.6 10.62 12 10.62H16.01C16.41 10.62 16.73 10.94 16.73 11.34V16.42C16.73 16.82 16.41 17.14 16.01 17.14H12C11.6 17.14 11.28 16.82 11.28 16.42V11.34ZM23.47 23.47C23.47 23.85 23.17 24.15 22.79 24.15H12C11.62 24.15 11.32 23.85 11.32 23.47V19.82C11.32 19.44 11.62 19.14 12 19.14H22.79C23.17 19.14 23.47 19.44 23.47 19.82V23.47ZM23.57 16.42C23.57 16.82 23.25 17.14 22.85 17.14H18.84C18.44 17.14 18.12 16.82 18.12 16.42V11.34C18.12 10.94 18.44 10.62 18.84 10.62H22.85C23.25 10.62 23.57 10.94 23.57 11.34V16.42Z", fill: "#2BB2DC" })] }), jsx("defs", { children: jsx("clipPath", { id: "clip0_13_335", children: jsx("rect", { width: "28", height: "28", fill: "white" }) }) })] }));
5
5
  }
6
6
 
7
7
  export { BlazeSitesLogo };
package/package.json CHANGED
@@ -1,31 +1,31 @@
1
1
  {
2
2
  "name": "@getgreenline/blaze-ui",
3
- "version": "1.0.38",
3
+ "version": "1.0.40",
4
4
  "type": "module",
5
5
  "dependencies": {
6
- "@base-ui/react": "^1.1.0",
6
+ "@base-ui/react": "^1.4.1",
7
7
  "@hookform/resolvers": "^5.2.2",
8
8
  "@radix-ui/react-accordion": "^1.2.12",
9
9
  "@radix-ui/react-alert-dialog": "^1.1.15",
10
- "@radix-ui/react-aspect-ratio": "^1.1.7",
11
- "@radix-ui/react-avatar": "^1.1.10",
10
+ "@radix-ui/react-aspect-ratio": "^1.1.8",
11
+ "@radix-ui/react-avatar": "^1.1.11",
12
12
  "@radix-ui/react-checkbox": "^1.3.3",
13
13
  "@radix-ui/react-collapsible": "^1.1.12",
14
14
  "@radix-ui/react-context-menu": "^2.2.16",
15
15
  "@radix-ui/react-dialog": "^1.1.15",
16
16
  "@radix-ui/react-dropdown-menu": "^2.1.16",
17
17
  "@radix-ui/react-hover-card": "^1.1.15",
18
- "@radix-ui/react-label": "^2.1.7",
18
+ "@radix-ui/react-label": "^2.1.8",
19
19
  "@radix-ui/react-menubar": "^1.1.16",
20
20
  "@radix-ui/react-navigation-menu": "^1.2.14",
21
21
  "@radix-ui/react-popover": "^1.1.15",
22
- "@radix-ui/react-progress": "^1.1.7",
22
+ "@radix-ui/react-progress": "^1.1.8",
23
23
  "@radix-ui/react-radio-group": "^1.3.8",
24
24
  "@radix-ui/react-scroll-area": "^1.2.10",
25
25
  "@radix-ui/react-select": "^2.2.6",
26
- "@radix-ui/react-separator": "^1.1.7",
26
+ "@radix-ui/react-separator": "^1.1.8",
27
27
  "@radix-ui/react-slider": "^1.3.6",
28
- "@radix-ui/react-slot": "^1.2.3",
28
+ "@radix-ui/react-slot": "^1.2.4",
29
29
  "@radix-ui/react-switch": "^1.2.6",
30
30
  "@radix-ui/react-tabs": "^1.1.13",
31
31
  "@radix-ui/react-toggle": "^1.1.10",
@@ -36,14 +36,14 @@
36
36
  "cmdk": "^1.1.1",
37
37
  "embla-carousel-react": "^8.6.0",
38
38
  "input-otp": "^1.4.2",
39
- "lucide-react": "^0.475.0",
39
+ "lucide-react": "^1.14.0",
40
40
  "next-themes": "^0.4.6",
41
- "react-hook-form": "^7.65.0",
42
- "react-resizable-panels": "^3.0.6",
43
- "recharts": "2.15.4",
41
+ "react-hook-form": "^7.74.0",
42
+ "react-resizable-panels": "^4.10.0",
43
+ "recharts": "3.8.1",
44
44
  "sonner": "^2.0.7",
45
- "tailwind-merge": "^3.3.1",
46
- "tw-animate-css": "^1.3.6",
45
+ "tailwind-merge": "^3.5.0",
46
+ "tw-animate-css": "^1.4.0",
47
47
  "vaul": "^1.1.2",
48
48
  "zod": "^3.25.76"
49
49
  },
@@ -53,19 +53,20 @@
53
53
  "react-dom": ">=16.14"
54
54
  },
55
55
  "devDependencies": {
56
- "@rollup/plugin-commonjs": "^28.0.0",
57
- "@rollup/plugin-node-resolve": "^15.3.0",
58
- "@rollup/plugin-typescript": "^12.1.0",
59
- "@tailwindcss/postcss": "^4.1.11",
60
- "@turbo/gen": "^2.5.5",
61
- "@types/node": "^20.19.9",
62
- "@types/react": "^19.1.9",
63
- "@types/react-dom": "^19.1.7",
64
- "rollup": "^4.52.0",
65
- "tailwindcss": "^4.1.11",
66
- "typescript": "^5.9.2",
67
- "@workspace/typescript-config": "0.0.0",
68
- "@workspace/eslint-config": "0.0.0"
56
+ "@rollup/plugin-commonjs": "^29.0.2",
57
+ "@rollup/plugin-node-resolve": "^16.0.3",
58
+ "@rollup/plugin-typescript": "^12.3.0",
59
+ "@tailwindcss/postcss": "^4.2.4",
60
+ "@turbo/gen": "^2.9.6",
61
+ "@types/node": "^20.19.39",
62
+ "@types/react": "^19.2.14",
63
+ "@types/react-dom": "^19.2.3",
64
+ "eslint": "^10.2.1",
65
+ "rollup": "^4.60.2",
66
+ "tailwindcss": "^4.2.4",
67
+ "typescript": "^6.0.3",
68
+ "@workspace/eslint-config": "0.0.0",
69
+ "@workspace/typescript-config": "0.0.0"
69
70
  },
70
71
  "main": "./dist/index.js",
71
72
  "module": "./dist/index.js",