impact-nova 1.7.8 → 1.7.10

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,117 +1,140 @@
1
- import { jsx as t, jsxs as c } from "react/jsx-runtime";
2
- import m, { useState as w, useEffect as T, createContext as g, useContext as S } from "react";
3
- import { createPortal as y } from "react-dom";
4
- import { X as N } from "lucide-react";
5
- import { cn as p } from "../../../lib/utils.js";
6
- import { Button as C } from "../button.js";
7
- import { useDataTable as v } from "./data-table-context.js";
8
- import { DATA_TABLE_SCOPED_SHEET_HOST_MIN_HEIGHT_PX as u } from "./data-table-constants.js";
9
- const b = g(
10
- null
11
- ), d = () => {
12
- const e = S(b);
13
- if (!e)
1
+ import { jsx as n, jsxs as d } from "react/jsx-runtime";
2
+ import i, { useState as w, useCallback as y, useEffect as D, useContext as f, createContext as b } from "react";
3
+ import { createPortal as g } from "react-dom";
4
+ import { X as C } from "lucide-react";
5
+ import { cn as u } from "../../../lib/utils.js";
6
+ import { Button as N } from "../button.js";
7
+ import { useDataTable as k, useDataTableSheetPortal as _ } from "./data-table-context.js";
8
+ import { DATA_TABLE_SCOPED_SHEET_HOST_MIN_HEIGHT_PX as v } from "./data-table-constants.js";
9
+ const x = b(!1), h = b(null), S = () => {
10
+ const e = f(x), o = f(h);
11
+ if (!o)
14
12
  throw new Error("useDataTableSheet must be used within DataTableSheet");
15
- return e;
16
- }, A = ({
13
+ return { open: e, setOpen: o };
14
+ }, E = () => {
15
+ const e = f(h);
16
+ if (!e)
17
+ throw new Error("useDataTableSheetApi must be used within DataTableSheet");
18
+ return { setOpen: e };
19
+ }, M = ({
17
20
  children: e,
18
- defaultOpen: a = !1,
19
- open: o,
21
+ defaultOpen: o = !1,
22
+ open: t,
20
23
  onOpenChange: r
21
24
  }) => {
22
- const { registerScopedSheetDepth: n } = v(), [s, l] = w(a), f = o !== void 0, i = f ? o : s, x = (h) => {
23
- f || l(h), r?.(h);
24
- };
25
- return T(() => {
26
- if (i)
27
- return n(1), () => n(-1);
28
- }, [i, n]), /* @__PURE__ */ t(b.Provider, { value: { open: i, setOpen: x }, children: e });
29
- }, z = ({
25
+ const { registerScopedSheetDepth: a } = k(), [s, l] = w(o), c = t !== void 0 ? t : s, m = i.useRef(r);
26
+ m.current = r;
27
+ const T = y((p) => {
28
+ t === void 0 && l(p), m.current?.(p);
29
+ }, [t]);
30
+ return D(() => {
31
+ if (c)
32
+ return a(1), () => a(-1);
33
+ }, [c, a]), /* @__PURE__ */ n(h.Provider, { value: T, children: /* @__PURE__ */ n(x.Provider, { value: c, children: e }) });
34
+ }, X = ({
30
35
  children: e,
31
- asChild: a
36
+ asChild: o
32
37
  }) => {
33
- const { setOpen: o, open: r } = d(), n = () => {
34
- o(!r);
38
+ const { setOpen: t, open: r } = S(), a = () => {
39
+ t(!r);
35
40
  };
36
- if (a) {
37
- const s = m.Children.only(e);
38
- return m.cloneElement(s, {
41
+ if (o) {
42
+ const s = i.Children.only(e);
43
+ return i.cloneElement(s, {
39
44
  onClick: (l) => {
40
- s.props.onClick?.(l), n();
45
+ s.props.onClick?.(l), a();
41
46
  }
42
47
  });
43
48
  }
44
- return /* @__PURE__ */ t(C, { variant: "outline", onClick: n, children: e });
45
- }, B = ({
49
+ return /* @__PURE__ */ n(N, { variant: "outline", onClick: a, children: e });
50
+ }, G = ({
46
51
  title: e,
47
- children: a,
48
- className: o
52
+ children: o,
53
+ className: t
49
54
  }) => {
50
- const { setOpen: r } = d();
51
- return /* @__PURE__ */ c(
55
+ const { setOpen: r } = E();
56
+ return /* @__PURE__ */ d(
52
57
  "div",
53
58
  {
54
- className: p(
59
+ className: u(
55
60
  "flex shrink-0 flex-row justify-between items-center px-4 py-3 mb-2 bg-brand-tint",
56
- o
61
+ t
57
62
  ),
58
63
  children: [
59
- /* @__PURE__ */ t("div", { className: "flex items-center gap-2", children: e && /* @__PURE__ */ t("h2", { className: "font-[Manrope] font-bold text-base text-content", children: e }) }),
60
- /* @__PURE__ */ c("div", { className: "flex items-center gap-2", children: [
61
- a,
62
- /* @__PURE__ */ t(
64
+ /* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: e && /* @__PURE__ */ n("h2", { className: "font-[Manrope] font-bold text-base text-content", children: e }) }),
65
+ /* @__PURE__ */ d("div", { className: "flex items-center gap-2", children: [
66
+ o,
67
+ /* @__PURE__ */ n(
63
68
  "span",
64
69
  {
65
70
  role: "button",
66
71
  className: "close_icon cursor-pointer flex items-center justify-center w-6 h-6 rounded-full hover:bg-muted/50 transition-colors",
67
72
  onClick: () => r(!1),
68
- children: /* @__PURE__ */ t(N, { className: "h-4 w-4 text-content-muted" })
73
+ children: /* @__PURE__ */ n(C, { className: "h-4 w-4 text-content-muted" })
69
74
  }
70
75
  )
71
76
  ] })
72
77
  ]
73
78
  }
74
79
  );
75
- }, I = ({
80
+ }, L = ({
76
81
  children: e,
77
- className: a
82
+ className: o
78
83
  }) => {
79
- const { open: o } = d(), { sheetTarget: r } = v();
80
- if (!o) return null;
81
- const n = /* @__PURE__ */ c(
84
+ const { open: t } = S(), { sheetTarget: r } = _(), a = i.useRef(!1);
85
+ if (t && (a.current = !0), !a.current) return null;
86
+ const s = /* @__PURE__ */ d(
82
87
  "div",
83
88
  {
84
- className: "-my-px flex h-[calc(100%_+_2px)] animate-in slide-in-from-right-[100%] duration-200 ease-in-out fade-in fill-mode-forwards",
85
- style: { minHeight: u },
89
+ className: u(
90
+ "-my-px flex h-[calc(100%_+_2px)]",
91
+ t && "animate-in slide-in-from-right-[100%] duration-200 ease-in-out fade-in fill-mode-forwards"
92
+ ),
93
+ style: {
94
+ minHeight: v,
95
+ display: t ? void 0 : "none"
96
+ },
86
97
  children: [
87
- /* @__PURE__ */ t("div", { className: "w-[10px] bg-canvas-elevated border-l border-stroke-hairline shrink-0" }),
88
- /* @__PURE__ */ t(
98
+ /* @__PURE__ */ n("div", { className: "w-[10px] bg-canvas-elevated border-l border-stroke-hairline shrink-0" }),
99
+ /* @__PURE__ */ n(
89
100
  "div",
90
101
  {
91
102
  "data-component": "data-table-sheet-panel",
92
- className: p(
103
+ className: u(
93
104
  "relative flex h-full w-[355px] flex-col overflow-y-auto bg-canvas-elevated border-t border-l border-stroke-hairline pointer-events-auto shadow-elevation-floating",
94
- a
105
+ o
95
106
  ),
96
107
  children: e
97
108
  }
98
109
  ),
99
- /* @__PURE__ */ t("div", { className: "w-[16px] bg-canvas-elevated border-l border-stroke-hairline shrink-0" })
110
+ /* @__PURE__ */ n("div", { className: "w-[16px] bg-canvas-elevated border-l border-stroke-hairline shrink-0" })
100
111
  ]
101
112
  }
102
- ), s = /* @__PURE__ */ t("div", { className: "pointer-events-none absolute inset-0 z-[35] flex justify-end overflow-x-hidden overflow-y-visible", children: n });
103
- return r ? y(s, r) : /* @__PURE__ */ t(
113
+ ), l = /* @__PURE__ */ n(
114
+ "div",
115
+ {
116
+ className: "pointer-events-none absolute inset-0 z-[35] flex justify-end overflow-x-hidden overflow-y-visible",
117
+ style: { display: t ? void 0 : "none" },
118
+ children: s
119
+ }
120
+ );
121
+ return r ? g(l, r) : /* @__PURE__ */ n(
104
122
  "div",
105
123
  {
106
124
  className: "pointer-events-none fixed inset-0 z-[35] flex justify-end overflow-x-hidden overflow-y-visible",
107
- style: { minHeight: u },
108
- children: n
125
+ style: {
126
+ minHeight: v,
127
+ display: t ? void 0 : "none"
128
+ },
129
+ children: s
109
130
  }
110
131
  );
111
132
  };
112
133
  export {
113
- A as DataTableSheet,
114
- I as DataTableSheetContent,
115
- B as DataTableSheetHeader,
116
- z as DataTableSheetTrigger
134
+ M as DataTableSheet,
135
+ L as DataTableSheetContent,
136
+ G as DataTableSheetHeader,
137
+ X as DataTableSheetTrigger,
138
+ S as useDataTableSheet,
139
+ E as useDataTableSheetApi
117
140
  };
@@ -1,107 +1,126 @@
1
- import { jsx as c, jsxs as C } from "react/jsx-runtime";
2
- import { useState as s, useRef as O, useCallback as A, useMemo as H, useEffect as _ } from "react";
3
- import { AgGridWrapper as E } from "../ag-grid-react/index.js";
1
+ import { jsx as i, jsxs as D } from "react/jsx-runtime";
2
+ import { useState as l, useRef as O, useCallback as H, useMemo as b, useEffect as A, memo as E } from "react";
3
+ import { AgGridWrapper as F } from "../ag-grid-react/index.js";
4
4
  import { cn as y } from "../../../lib/utils.js";
5
- import { DataTableContext as D, useDataTable as P } from "./data-table-context.js";
6
- import { DATA_TABLE_SCOPED_SHEET_HOST_MIN_HEIGHT_PX as F } from "./data-table-constants.js";
7
- import { AG_GRID_VALUE_FORMATTERS as N } from "../ag-grid-react/value-formatters.js";
8
- const R = {
5
+ import { DataTableContext as N, DataTableSheetPortalContext as M, useDataTable as z, useDataTableSheetPortal as I } from "./data-table-context.js";
6
+ import { DATA_TABLE_SCOPED_SHEET_HOST_MIN_HEIGHT_PX as j } from "./data-table-constants.js";
7
+ import { AG_GRID_VALUE_FORMATTERS as k } from "../ag-grid-react/value-formatters.js";
8
+ const w = {
9
9
  default: 46,
10
10
  compact: 30,
11
11
  comfort: 52
12
- }, G = (o) => {
12
+ }, P = (o) => {
13
13
  if (o)
14
14
  return o.map((e) => {
15
15
  if ("children" in e && e.children)
16
16
  return {
17
17
  ...e,
18
- children: G(e.children)
18
+ children: P(e.children)
19
19
  };
20
20
  const t = e;
21
21
  return !t.valueFormatter && (t.type === "numericColumn" || t.type === "number") ? {
22
22
  ...t,
23
- valueFormatter: N.number
23
+ valueFormatter: k.number
24
24
  } : t;
25
25
  });
26
- }, W = ({
26
+ }, q = ({
27
27
  children: o,
28
28
  className: e
29
29
  }) => {
30
- const [t, d] = s(null), [r, u] = s(null), [i, p] = s("medium"), [f, h] = s("full"), [a, m] = s("default"), [g, x] = s(!1), l = O(0), T = A((n) => {
31
- l.current = Math.max(0, l.current + n), x(l.current > 0);
32
- }, []), b = A((n) => {
33
- d(n);
34
- }, []), v = {
30
+ const [t, r] = l(null), [n, p] = l(null), [s, h] = l("medium"), [c, d] = l("full"), [u, f] = l("default"), [g, S] = l(!1), m = O(0), x = H((v) => {
31
+ m.current = Math.max(0, m.current + v), S(m.current > 0);
32
+ }, []), T = H((v) => {
33
+ r(v);
34
+ }, []), a = {
35
35
  small: "12px",
36
36
  medium: "14px",
37
37
  large: "16px"
38
- }[i], S = `${R[a]}px`;
39
- return /* @__PURE__ */ c(D.Provider, { value: {
38
+ }[s], R = `${w[u]}px`, C = b(() => ({
40
39
  gridApi: t,
41
- registerApi: b,
42
- sheetTarget: r,
43
- setSheetTarget: u,
44
- scopedSheetOpen: g,
45
- registerScopedSheetDepth: T,
46
- fontSize: i,
47
- setFontSize: p,
48
- numericFormat: f,
49
- setNumericFormat: h,
50
- rowHeight: a,
51
- setRowHeight: m
52
- }, children: /* @__PURE__ */ c(
40
+ registerApi: T,
41
+ registerScopedSheetDepth: x,
42
+ fontSize: s,
43
+ setFontSize: h,
44
+ numericFormat: c,
45
+ setNumericFormat: d,
46
+ rowHeight: u,
47
+ setRowHeight: f
48
+ }), [
49
+ t,
50
+ T,
51
+ x,
52
+ s,
53
+ h,
54
+ c,
55
+ d,
56
+ u,
57
+ f
58
+ ]), G = b(() => ({
59
+ sheetTarget: n,
60
+ setSheetTarget: p,
61
+ scopedSheetOpen: g
62
+ }), [n, p, g]);
63
+ return /* @__PURE__ */ i(N.Provider, { value: C, children: /* @__PURE__ */ i(M.Provider, { value: G, children: /* @__PURE__ */ i(
53
64
  "div",
54
65
  {
55
66
  "data-component": "data-table",
56
67
  className: y("flex flex-col w-full min-h-0 rounded-[inherit]", e),
57
68
  style: {
58
- "--ag-font-size": v,
59
- "--ag-row-height": S
69
+ "--ag-font-size": a,
70
+ "--ag-row-height": R
60
71
  },
61
72
  children: o
62
73
  }
63
- ) });
64
- }, w = {
74
+ ) }) });
75
+ }, _ = {
65
76
  full: "full_no",
66
77
  k: "thou",
67
78
  m: "mil",
68
79
  b: "bil"
69
- };
70
- function X(o) {
80
+ }, L = E(function() {
81
+ const { setSheetTarget: e, scopedSheetOpen: t } = I();
82
+ return /* @__PURE__ */ i(
83
+ "div",
84
+ {
85
+ ref: e,
86
+ className: "absolute inset-0 pointer-events-none z-[39] flex overflow-x-hidden overflow-y-visible",
87
+ style: t ? { minHeight: j } : void 0
88
+ }
89
+ );
90
+ });
91
+ function J(o) {
71
92
  const {
72
93
  registerApi: e,
73
- setSheetTarget: t,
74
- rowHeight: d,
94
+ rowHeight: t,
75
95
  gridApi: r,
76
- scopedSheetOpen: u,
77
- numericFormat: i
78
- } = P(), {
96
+ numericFormat: n
97
+ } = z(), {
79
98
  className: p,
80
- onGridReady: f,
99
+ onGridReady: s,
81
100
  rowHeight: h,
82
- context: a,
83
- columnDefs: m,
84
- maintainColumnOrder: g = !0,
85
- ...x
86
- } = o, l = R[d], T = h ?? l, b = H(() => G(m), [m]), v = H(() => ({
87
- ...a,
88
- formatType: w[i]
89
- }), [a, i]);
90
- _(() => {
101
+ context: c,
102
+ columnDefs: d,
103
+ maintainColumnOrder: u = !0,
104
+ ...f
105
+ } = o, g = w[t], S = h ?? g, m = b(() => P(d), [d]), x = b(() => ({
106
+ ...c,
107
+ formatType: _[n]
108
+ }), [c, n]);
109
+ A(() => {
91
110
  r?.resetRowHeights();
92
- }, [d, r]), _(() => {
111
+ }, [t, r]), A(() => {
93
112
  if (r) {
94
- const n = r.getGridOption("context") || {};
113
+ const a = r.getGridOption("context") || {};
95
114
  r.setGridOption("context", {
96
- ...n,
97
- formatType: w[i]
115
+ ...a,
116
+ formatType: _[n]
98
117
  }), r.refreshCells({ force: !0 });
99
118
  }
100
- }, [i, r]);
101
- const S = (n) => {
102
- e(n.api), f?.(n);
103
- };
104
- return /* @__PURE__ */ C(
119
+ }, [n, r]);
120
+ const T = H((a) => {
121
+ e(a.api), s?.(a);
122
+ }, [e, s]);
123
+ return /* @__PURE__ */ D(
105
124
  "div",
106
125
  {
107
126
  className: y(
@@ -109,35 +128,28 @@ function X(o) {
109
128
  p
110
129
  ),
111
130
  children: [
112
- /* @__PURE__ */ c(
113
- E,
131
+ /* @__PURE__ */ i(
132
+ F,
114
133
  {
115
- ...x,
116
- columnDefs: b,
117
- rowHeight: T,
118
- onGridReady: S,
119
- context: v,
120
- maintainColumnOrder: g
134
+ ...f,
135
+ columnDefs: m,
136
+ rowHeight: S,
137
+ onGridReady: T,
138
+ context: x,
139
+ maintainColumnOrder: u
121
140
  }
122
141
  ),
123
- /* @__PURE__ */ c(
124
- "div",
125
- {
126
- ref: t,
127
- className: "absolute inset-0 pointer-events-none z-[39] flex overflow-x-hidden overflow-y-visible",
128
- style: u ? { minHeight: F } : void 0
129
- }
130
- )
142
+ /* @__PURE__ */ i(L, {})
131
143
  ]
132
144
  }
133
145
  );
134
146
  }
135
- const U = ({
147
+ const K = ({
136
148
  children: o,
137
149
  className: e
138
- }) => /* @__PURE__ */ c("div", { "data-component": "data-table-toolbar", className: y("flex items-center justify-between px-4 py-3 shrink-0 bg-canvas-elevated rounded-t-[inherit]", e), children: o });
150
+ }) => /* @__PURE__ */ i("div", { "data-component": "data-table-toolbar", className: y("flex items-center justify-between px-4 py-3 shrink-0 bg-canvas-elevated rounded-t-[inherit]", e), children: o });
139
151
  export {
140
- W as DataTable,
141
- X as DataTableContent,
142
- U as DataTableToolbar
152
+ q as DataTable,
153
+ J as DataTableContent,
154
+ K as DataTableToolbar
143
155
  };
@@ -1,29 +1,33 @@
1
1
  import { DataTable as t, DataTableContent as T, DataTableToolbar as o } from "./data-table.js";
2
2
  import { DATA_TABLE_SCOPED_SHEET_HOST_MIN_HEIGHT_PX as D, TABLE_VIEWPORT_SHELL_EXPANDED_CLASS as l } from "./data-table-constants.js";
3
3
  import { DataTableColumnList as n } from "./data-table-column-list.js";
4
- import { DataTableContext as S, useDataTable as m } from "./data-table-context.js";
5
- import { DataTableFormatOptions as E } from "./data-table-format-options.js";
6
- import { DataTableSheet as x, DataTableSheetContent as f, DataTableSheetHeader as V, DataTableSheetTrigger as u } from "./data-table-sheet.js";
7
- import { DataTableViewMenuContent as C, DataTableViewMenuDensity as s, DataTableViewMenuSettingsItem as A, DataTableViewMenuTrigger as H, DataTableViewMenuViewportExpand as L } from "./data-table-view-menu.js";
8
- import { DataTableSavedViews as g } from "./data-table-saved-views.js";
4
+ import { DataTableContext as i, DataTableSheetPortalContext as p, useDataTable as m, useDataTableSheetPortal as x } from "./data-table-context.js";
5
+ import { DataTableFormatOptions as _ } from "./data-table-format-options.js";
6
+ import { DataTableSheet as s, DataTableSheetContent as f, DataTableSheetHeader as h, DataTableSheetTrigger as C, useDataTableSheet as V, useDataTableSheetApi as w } from "./data-table-sheet.js";
7
+ import { DataTableViewMenuContent as H, DataTableViewMenuDensity as L, DataTableViewMenuSettingsItem as M, DataTableViewMenuTrigger as P, DataTableViewMenuViewportExpand as g } from "./data-table-view-menu.js";
8
+ import { DataTableSavedViews as O } from "./data-table-saved-views.js";
9
9
  export {
10
10
  D as DATA_TABLE_SCOPED_SHEET_HOST_MIN_HEIGHT_PX,
11
11
  t as DataTable,
12
12
  n as DataTableColumnList,
13
13
  T as DataTableContent,
14
- S as DataTableContext,
15
- E as DataTableFormatOptions,
16
- g as DataTableSavedViews,
17
- x as DataTableSheet,
14
+ i as DataTableContext,
15
+ _ as DataTableFormatOptions,
16
+ O as DataTableSavedViews,
17
+ s as DataTableSheet,
18
18
  f as DataTableSheetContent,
19
- V as DataTableSheetHeader,
20
- u as DataTableSheetTrigger,
19
+ h as DataTableSheetHeader,
20
+ p as DataTableSheetPortalContext,
21
+ C as DataTableSheetTrigger,
21
22
  o as DataTableToolbar,
22
- C as DataTableViewMenuContent,
23
- s as DataTableViewMenuDensity,
24
- A as DataTableViewMenuSettingsItem,
25
- H as DataTableViewMenuTrigger,
26
- L as DataTableViewMenuViewportExpand,
23
+ H as DataTableViewMenuContent,
24
+ L as DataTableViewMenuDensity,
25
+ M as DataTableViewMenuSettingsItem,
26
+ P as DataTableViewMenuTrigger,
27
+ g as DataTableViewMenuViewportExpand,
27
28
  l as TABLE_VIEWPORT_SHELL_EXPANDED_CLASS,
28
- m as useDataTable
29
+ m as useDataTable,
30
+ V as useDataTableSheet,
31
+ w as useDataTableSheetApi,
32
+ x as useDataTableSheetPortal
29
33
  };
@@ -99,7 +99,7 @@ const j = ({
99
99
  variant: "secondary",
100
100
  size: "md",
101
101
  shape: "rounded",
102
- className: "whitespace-nowrap bg-[#eceefd] text-[#4259ee] hover:bg-[#dce1fc] border-0 h-6 px-2 text-xs font-medium font-['Manrope'] cursor-pointer",
102
+ className: "whitespace-nowrap bg-[#eceefd] text-[#4259ee] hover:bg-[#dce1fc] border-0 h-5 px-2 text-xs font-medium font-['Manrope'] cursor-pointer",
103
103
  onClick: () => i?.(e.id),
104
104
  tabIndex: 0,
105
105
  role: "button",
@@ -125,7 +125,7 @@ const j = ({
125
125
  variant: "secondary",
126
126
  size: "md",
127
127
  shape: "rounded",
128
- className: "whitespace-nowrap bg-[#eceefd] text-[#4259ee] hover:bg-[#dce1fc] border-0 h-6 px-2 text-xs font-medium font-['Manrope'] cursor-pointer",
128
+ className: "whitespace-nowrap bg-[#eceefd] text-[#4259ee] hover:bg-[#dce1fc] border-0 h-5 px-2 text-xs font-medium font-['Manrope'] cursor-pointer",
129
129
  children: b
130
130
  }
131
131
  ) }) }),