impact-nova 1.7.6 → 1.7.7

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.
@@ -21,3 +21,6 @@ export { Kbd } from './kbd';
21
21
  export type { KbdProps } from './kbd';
22
22
  export { ShortcutSettings } from './shortcut-settings';
23
23
  export type { ShortcutSettingsProps } from './shortcut-settings';
24
+ export { ShortcutOverlayProvider, useShortcutOverlay } from './shortcut-overlay-context';
25
+ export type { ShortcutOverlayContextValue, ShortcutOverlayProviderProps } from './shortcut-overlay-context';
26
+ export { ShortcutOverlay } from './shortcut-overlay';
@@ -1,6 +1,6 @@
1
- import { BROWSER_SHORTCUTS as o, COMMAND_SOURCE_LABELS as r, deserialiseOverrides as m, fuzzyFilter as a, fuzzyScore as i, getBrowserShortcutInfo as n, getKeySymbol as d, isMac as s, isReservedShortcut as S, keybindingFromEvent as l, keybindingToString as p, keybindingToSymbols as u, keybindingsEqual as c, matchesKeybinding as y, parseKeybinding as C, scopePriority as P, serialiseOverrides as f } from "./utils.js";
2
- import { LocalStorageAdapter as b, ShortcutRegistry as h } from "./shortcut-registry.js";
3
- import { CommandPaletteProvider as v, useCommandPalette as E } from "./command-palette-context.js";
1
+ import { BROWSER_SHORTCUTS as r, COMMAND_SOURCE_LABELS as o, deserialiseOverrides as m, fuzzyFilter as a, fuzzyScore as i, getBrowserShortcutInfo as n, getKeySymbol as d, isMac as s, isReservedShortcut as S, keybindingFromEvent as l, keybindingToString as u, keybindingToSymbols as p, keybindingsEqual as c, matchesKeybinding as y, parseKeybinding as f, scopePriority as P, serialiseOverrides as C } from "./utils.js";
2
+ import { LocalStorageAdapter as g, ShortcutRegistry as x } from "./shortcut-registry.js";
3
+ import { CommandPaletteProvider as v, useCommandPalette as O } from "./command-palette-context.js";
4
4
  import { useShortcut as R } from "./use-shortcut.js";
5
5
  import { useGlobalShortcut as z } from "./use-global-shortcut.js";
6
6
  import { useBrowserShortcuts as K } from "./use-browser-shortcuts.js";
@@ -8,9 +8,11 @@ import { ShortcutScopeProvider as T } from "./shortcut-scope-provider.js";
8
8
  import { CommandPalette as F, CommandPaletteEmpty as I, CommandPaletteFooter as M, CommandPaletteGroup as _, CommandPaletteInput as w, CommandPaletteItem as G, CommandPaletteList as U, CommandPaletteSeparator as q, CommandPaletteShortcut as D } from "./command-palette.js";
9
9
  import { Kbd as N } from "./kbd.js";
10
10
  import { ShortcutSettings as j } from "./shortcut-settings.js";
11
+ import { ShortcutOverlayProvider as Q, useShortcutOverlay as V } from "./shortcut-overlay-context.js";
12
+ import { ShortcutOverlay as Y } from "./shortcut-overlay.js";
11
13
  export {
12
- o as BROWSER_SHORTCUTS,
13
- r as COMMAND_SOURCE_LABELS,
14
+ r as BROWSER_SHORTCUTS,
15
+ o as COMMAND_SOURCE_LABELS,
14
16
  F as CommandPalette,
15
17
  I as CommandPaletteEmpty,
16
18
  M as CommandPaletteFooter,
@@ -22,8 +24,10 @@ export {
22
24
  q as CommandPaletteSeparator,
23
25
  D as CommandPaletteShortcut,
24
26
  N as Kbd,
25
- b as LocalStorageAdapter,
26
- h as ShortcutRegistry,
27
+ g as LocalStorageAdapter,
28
+ Y as ShortcutOverlay,
29
+ Q as ShortcutOverlayProvider,
30
+ x as ShortcutRegistry,
27
31
  T as ShortcutScopeProvider,
28
32
  j as ShortcutSettings,
29
33
  m as deserialiseOverrides,
@@ -34,15 +38,16 @@ export {
34
38
  s as isMac,
35
39
  S as isReservedShortcut,
36
40
  l as keybindingFromEvent,
37
- p as keybindingToString,
38
- u as keybindingToSymbols,
41
+ u as keybindingToString,
42
+ p as keybindingToSymbols,
39
43
  c as keybindingsEqual,
40
44
  y as matchesKeybinding,
41
- C as parseKeybinding,
45
+ f as parseKeybinding,
42
46
  P as scopePriority,
43
- f as serialiseOverrides,
47
+ C as serialiseOverrides,
44
48
  K as useBrowserShortcuts,
45
- E as useCommandPalette,
49
+ O as useCommandPalette,
46
50
  z as useGlobalShortcut,
47
- R as useShortcut
51
+ R as useShortcut,
52
+ V as useShortcutOverlay
48
53
  };
@@ -0,0 +1,23 @@
1
+ /**
2
+ * ShortcutOverlayProvider — React context for the Excel-like "Key Tips" overlay.
3
+ *
4
+ * Manages visibility state for the shortcut overlay, which displays
5
+ * keyboard shortcut badges next to their associated UI elements.
6
+ */
7
+ import * as React from 'react';
8
+ export interface ShortcutOverlayContextValue {
9
+ /** Whether the shortcut overlay is currently visible */
10
+ isOverlayVisible: boolean;
11
+ /** Set overlay visibility explicitly */
12
+ setOverlayVisible: (visible: boolean) => void;
13
+ /** Toggle overlay visibility */
14
+ toggleOverlay: () => void;
15
+ }
16
+ export interface ShortcutOverlayProviderProps {
17
+ children: React.ReactNode;
18
+ }
19
+ export declare function ShortcutOverlayProvider({ children }: ShortcutOverlayProviderProps): import("react/jsx-runtime").JSX.Element;
20
+ export declare namespace ShortcutOverlayProvider {
21
+ var displayName: string;
22
+ }
23
+ export declare function useShortcutOverlay(): ShortcutOverlayContextValue;
@@ -0,0 +1,28 @@
1
+ import { jsx as c } from "react/jsx-runtime";
2
+ import * as t from "react";
3
+ const u = t.createContext(null);
4
+ function n({ children: e }) {
5
+ const [o, a] = t.useState(!1), l = t.useCallback((r) => {
6
+ a(r);
7
+ }, []), s = t.useCallback(() => {
8
+ a((r) => !r);
9
+ }, []), i = t.useMemo(() => ({
10
+ isOverlayVisible: o,
11
+ setOverlayVisible: l,
12
+ toggleOverlay: s
13
+ }), [o, l, s]);
14
+ return /* @__PURE__ */ c(u.Provider, { value: i, children: e });
15
+ }
16
+ n.displayName = "ShortcutOverlayProvider";
17
+ function y() {
18
+ const e = t.useContext(u);
19
+ if (!e)
20
+ throw new Error(
21
+ "useShortcutOverlay must be used within a <ShortcutOverlayProvider>. Wrap your application root with <ShortcutOverlayProvider>."
22
+ );
23
+ return e;
24
+ }
25
+ export {
26
+ n as ShortcutOverlayProvider,
27
+ y as useShortcutOverlay
28
+ };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * ShortcutOverlay — Excel-like "Key Tips" overlay.
3
+ *
4
+ * When visible, scans the DOM for elements with `[data-shortcut-id]`,
5
+ * resolves their effective keybindings from the command palette registry,
6
+ * and renders floating Kbd badges positioned next to each element.
7
+ *
8
+ * Performance notes:
9
+ * - No `elementFromPoint` / forced reflows — uses containment checks only.
10
+ * - MutationObserver (childList on body) detects panel open/close cheaply.
11
+ * - All rescans are debounced via a single `requestAnimationFrame`.
12
+ *
13
+ * Dismiss: click backdrop, press Escape, or re-trigger the shortcut.
14
+ */
15
+ import * as React from 'react';
16
+ export declare function ShortcutOverlay(): React.ReactPortal;
17
+ export declare namespace ShortcutOverlay {
18
+ var displayName: string;
19
+ }
@@ -0,0 +1,151 @@
1
+ import { jsxs as O, Fragment as L, jsx as p } from "react/jsx-runtime";
2
+ import * as d from "react";
3
+ import { createPortal as M } from "react-dom";
4
+ import { useShortcutOverlay as S } from "./shortcut-overlay-context.js";
5
+ import { useCommandPalette as C } from "./command-palette-context.js";
6
+ import { Kbd as X } from "./kbd.js";
7
+ const u = 26, h = 80, s = 4;
8
+ function z() {
9
+ const t = document.querySelectorAll(
10
+ '[role="dialog"][data-state="open"]'
11
+ );
12
+ return t.length > 0 ? t[t.length - 1] : null;
13
+ }
14
+ function F(t) {
15
+ if (t.length <= 1) return t;
16
+ const r = [...t].sort((n, e) => n.top - e.top), l = (n, e) => Math.abs(n.left - e.left) < h && Math.abs(n.top - e.top) < u + s;
17
+ for (let n = 1; n < r.length; n++) {
18
+ const e = r[n], c = () => r.slice(Math.max(0, n - 5), n).some((y) => l(y, e));
19
+ c() && (e.placement === "above" ? (e.placement = "below", e.top = e.top + u + 32 + s) : (e.placement = "above", e.top = e.top - u - 32 - s), c() && (e.left = e.left + h + s));
20
+ }
21
+ return r;
22
+ }
23
+ function R(t) {
24
+ const r = window.innerWidth, l = window.innerHeight;
25
+ return {
26
+ ...t,
27
+ top: Math.max(s, Math.min(t.top, l - u - s)),
28
+ left: Math.max(h / 2, Math.min(t.left, r - h / 2))
29
+ };
30
+ }
31
+ function T() {
32
+ const { isOverlayVisible: t, setOverlayVisible: r } = S(), { getEffectiveKeybinding: l, version: n } = C(), [e, c] = d.useState([]), [y, x] = d.useState(0);
33
+ return d.useLayoutEffect(() => {
34
+ if (!t) {
35
+ c([]);
36
+ return;
37
+ }
38
+ const f = (z() ?? document).querySelectorAll("[data-shortcut-id]"), m = [];
39
+ f.forEach((v) => {
40
+ const w = v.getAttribute("data-shortcut-id");
41
+ if (!w) return;
42
+ const b = window.getComputedStyle(v);
43
+ if (b.display === "none" || b.visibility === "hidden" || b.opacity === "0")
44
+ return;
45
+ const a = v.getBoundingClientRect();
46
+ if (a.width === 0 || a.height === 0 || a.bottom < 0 || a.top > window.innerHeight || a.right < 0 || a.left > window.innerWidth)
47
+ return;
48
+ const E = l(w);
49
+ if (!E) return;
50
+ const A = a.left + a.width / 2;
51
+ let k = "above", g = a.top - u - s;
52
+ g < s && (k = "below", g = a.bottom + s), m.push({
53
+ id: w,
54
+ keybinding: E,
55
+ top: g,
56
+ left: A,
57
+ placement: k
58
+ });
59
+ }), c(F(m).map(R));
60
+ }, [t, l, n, y]), d.useEffect(() => {
61
+ if (!t) return;
62
+ const o = (i) => {
63
+ i.key === "Escape" && (i.preventDefault(), i.stopPropagation(), r(!1));
64
+ };
65
+ return window.addEventListener("keydown", o, !0), () => window.removeEventListener("keydown", o, !0);
66
+ }, [t, r]), d.useEffect(() => {
67
+ if (!t) return;
68
+ let o;
69
+ const i = () => {
70
+ cancelAnimationFrame(o), o = requestAnimationFrame(() => x((m) => m + 1));
71
+ };
72
+ window.addEventListener("scroll", i, !0), window.addEventListener("resize", i);
73
+ const f = new MutationObserver(i);
74
+ return f.observe(document.body, {
75
+ childList: !0,
76
+ subtree: !0,
77
+ attributes: !0,
78
+ attributeFilter: ["data-state"]
79
+ }), () => {
80
+ cancelAnimationFrame(o), window.removeEventListener("scroll", i, !0), window.removeEventListener("resize", i), f.disconnect();
81
+ };
82
+ }, [t]), !t || e.length === 0 ? null : M(
83
+ /* @__PURE__ */ O(L, { children: [
84
+ /* @__PURE__ */ p(
85
+ "div",
86
+ {
87
+ "data-shortcut-overlay-backdrop": "",
88
+ onClick: () => r(!1),
89
+ style: {
90
+ position: "fixed",
91
+ inset: 0,
92
+ backgroundColor: "rgba(0, 0, 0, 0.06)",
93
+ zIndex: 99998,
94
+ cursor: "default"
95
+ }
96
+ }
97
+ ),
98
+ e.map((o) => /* @__PURE__ */ p(
99
+ "div",
100
+ {
101
+ "data-shortcut-overlay-badge": "",
102
+ style: {
103
+ position: "fixed",
104
+ top: o.top,
105
+ left: o.left,
106
+ transform: "translateX(-50%)",
107
+ zIndex: 99999,
108
+ pointerEvents: "none",
109
+ animation: o.placement === "below" ? "shortcut-overlay-badge-in-below 0.15s ease-out" : "shortcut-overlay-badge-in 0.15s ease-out"
110
+ },
111
+ children: /* @__PURE__ */ p(
112
+ X,
113
+ {
114
+ keybinding: o.keybinding,
115
+ size: "sm",
116
+ variant: "dark"
117
+ }
118
+ )
119
+ },
120
+ o.id
121
+ )),
122
+ /* @__PURE__ */ p("style", { children: `
123
+ @keyframes shortcut-overlay-badge-in {
124
+ from {
125
+ opacity: 0;
126
+ transform: translateX(-50%) translateY(4px);
127
+ }
128
+ to {
129
+ opacity: 1;
130
+ transform: translateX(-50%) translateY(0);
131
+ }
132
+ }
133
+ @keyframes shortcut-overlay-badge-in-below {
134
+ from {
135
+ opacity: 0;
136
+ transform: translateX(-50%) translateY(-4px);
137
+ }
138
+ to {
139
+ opacity: 1;
140
+ transform: translateX(-50%) translateY(0);
141
+ }
142
+ }
143
+ ` })
144
+ ] }),
145
+ document.body
146
+ );
147
+ }
148
+ T.displayName = "ShortcutOverlay";
149
+ export {
150
+ T as ShortcutOverlay
151
+ };
@@ -109,6 +109,7 @@ const j = ({
109
109
  "data-component": "filter-panel-sidebar-item",
110
110
  "data-active": o ? "true" : "false",
111
111
  "data-tab": a.id,
112
+ "data-shortcut-id": a.shortcutId,
112
113
  className: i(
113
114
  "group flex items-center justify-between px-3 py-[6px] mx-2 rounded-lg text-left text-sm font-medium transition-colors",
114
115
  o ? "bg-canvas-accent text-brand" : "text-content-secondary hover:bg-canvas-accent"
@@ -1,3 +1,3 @@
1
1
  import { FilterStripProps } from '../types/filter-strip.types';
2
- declare const FilterStrip: ({ filters, onFilterRemove, onAllFiltersClick, savedFilters, recentFilters, onApplySavedFilter, onSavedFilterSearch, onSavedFiltersScroll, onViewAll, onOverflowClick, selectedFilter, onSelectedFilterChange, onDropdownOpenChange, isLoadingFilterPreferencesList, isLoading, onEditSavedFilter, onDeleteSavedFilter, onSetDefaultSavedFilter, className, allFiltersKeybinding, }: FilterStripProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const FilterStrip: ({ filters, onFilterRemove, onAllFiltersClick, savedFilters, recentFilters, onApplySavedFilter, onSavedFilterSearch, onSavedFiltersScroll, onViewAll, onOverflowClick, selectedFilter, onSelectedFilterChange, onDropdownOpenChange, isLoadingFilterPreferencesList, isLoading, onEditSavedFilter, onDeleteSavedFilter, onSetDefaultSavedFilter, className, allFiltersKeybinding, allFiltersShortcutId, }: FilterStripProps) => import("react/jsx-runtime").JSX.Element;
3
3
  export { FilterStrip };
@@ -1,20 +1,20 @@
1
1
  import { jsx as e, jsxs as i } from "react/jsx-runtime";
2
- import { ListFilter as F } from "lucide-react";
2
+ import { ListFilter as j } from "lucide-react";
3
3
  import { cn as l } from "../../../lib/utils.js";
4
- import { Button as j } from "../button.js";
4
+ import { Button as I } from "../button.js";
5
5
  import { Skeleton as t } from "../skeleton.js";
6
- import { FilterSummary as I } from "./filter-summary.js";
7
- import { FilterTagList as L } from "./filter-tag-list.js";
8
- import { useImpactNovaI18n as A } from "../../../i18n/ImpactNovaI18nContext.js";
9
- const E = ({
6
+ import { FilterSummary as L } from "./filter-summary.js";
7
+ import { FilterTagList as A } from "./filter-tag-list.js";
8
+ import { useImpactNovaI18n as B } from "../../../i18n/ImpactNovaI18nContext.js";
9
+ const G = ({
10
10
  filters: s,
11
11
  onFilterRemove: n,
12
12
  onAllFiltersClick: m,
13
13
  savedFilters: o,
14
- recentFilters: p,
15
- onApplySavedFilter: c,
16
- onSavedFilterSearch: f,
17
- onSavedFiltersScroll: h,
14
+ recentFilters: c,
15
+ onApplySavedFilter: p,
16
+ onSavedFilterSearch: h,
17
+ onSavedFiltersScroll: f,
18
18
  onViewAll: d,
19
19
  onOverflowClick: w,
20
20
  selectedFilter: x,
@@ -22,13 +22,14 @@ const E = ({
22
22
  onDropdownOpenChange: v,
23
23
  isLoadingFilterPreferencesList: g,
24
24
  isLoading: k,
25
- onEditSavedFilter: b,
26
- onDeleteSavedFilter: u,
25
+ onEditSavedFilter: u,
26
+ onDeleteSavedFilter: b,
27
27
  onSetDefaultSavedFilter: S,
28
28
  className: a,
29
- allFiltersKeybinding: y
29
+ allFiltersKeybinding: y,
30
+ allFiltersShortcutId: F
30
31
  }) => {
31
- const { t: r } = A();
32
+ const { t: r } = B();
32
33
  return k ? /* @__PURE__ */ e(
33
34
  "div",
34
35
  {
@@ -71,25 +72,25 @@ const E = ({
71
72
  ),
72
73
  children: [
73
74
  /* @__PURE__ */ e(
74
- I,
75
+ L,
75
76
  {
76
77
  selectedFilter: x,
77
78
  onSelectedFilterChange: N,
78
79
  savedFilters: o,
79
- recentFilters: p,
80
- onApplySavedFilter: c,
81
- onSavedFilterSearch: f,
82
- onSavedFiltersScroll: h,
80
+ recentFilters: c,
81
+ onApplySavedFilter: p,
82
+ onSavedFilterSearch: h,
83
+ onSavedFiltersScroll: f,
83
84
  onDropdownOpenChange: v,
84
85
  isLoadingFilterPreferencesList: g,
85
- onEditSavedFilter: b,
86
- onDeleteSavedFilter: u,
86
+ onEditSavedFilter: u,
87
+ onDeleteSavedFilter: b,
87
88
  onSetDefaultSavedFilter: S
88
89
  }
89
90
  ),
90
91
  /* @__PURE__ */ e("div", { className: "h-4 w-[1px] bg-stroke-hairline mx-1 shrink-0" }),
91
92
  /* @__PURE__ */ e(
92
- L,
93
+ A,
93
94
  {
94
95
  filters: s,
95
96
  onFilterRemove: n,
@@ -98,7 +99,7 @@ const E = ({
98
99
  }
99
100
  ),
100
101
  /* @__PURE__ */ i(
101
- j,
102
+ I,
102
103
  {
103
104
  variant: "tertiary",
104
105
  onClick: m,
@@ -106,8 +107,9 @@ const E = ({
106
107
  "aria-label": r("filterStrip.allFilters"),
107
108
  tooltipSide: "bottom",
108
109
  tooltipKeybinding: y,
110
+ "data-shortcut-id": F,
109
111
  children: [
110
- /* @__PURE__ */ e(F, { className: "h-4 w-4" }),
112
+ /* @__PURE__ */ e(j, { className: "h-4 w-4" }),
111
113
  r("filterStrip.allFilters")
112
114
  ]
113
115
  }
@@ -117,5 +119,5 @@ const E = ({
117
119
  );
118
120
  };
119
121
  export {
120
- E as FilterStrip
122
+ G as FilterStrip
121
123
  };
@@ -28,6 +28,8 @@ export interface FilterSidebarItem {
28
28
  hasInfo?: boolean;
29
29
  separator?: boolean;
30
30
  tooltipKeybinding?: import('../command-palette/utils').KeyBinding;
31
+ /** Shortcut ID for the shortcut overlay to anchor a badge to this tab. */
32
+ shortcutId?: string;
31
33
  }
32
34
  export interface FilterPanelSidebarProps {
33
35
  items: FilterSidebarItem[];
@@ -101,4 +101,9 @@ export interface FilterStripProps {
101
101
  * Keybinding to show in the "All Filters" button tooltip
102
102
  */
103
103
  allFiltersKeybinding?: import('./filter-panel.types').FilterSidebarItem["tooltipKeybinding"];
104
+ /**
105
+ * Shortcut ID for the "All Filters" button, used by the shortcut overlay
106
+ * to anchor a badge to this button.
107
+ */
108
+ allFiltersShortcutId?: string;
104
109
  }
package/dist/index.js CHANGED
@@ -1,16 +1,16 @@
1
1
  /* empty css */
2
- import * as o from "./icons/index.js";
2
+ import * as r from "./icons/index.js";
3
3
  import { AccordionNestedList as a } from "./components/ui/accordion-nested-list/accordion-nested-list.js";
4
4
  import { Accordion as n, AccordionContent as p, AccordionItem as l, AccordionTrigger as m } from "./components/ui/accordion.js";
5
5
  import { AlertDialog as s, AlertDialogAction as f, AlertDialogCancel as u, AlertDialogContent as c, AlertDialogDescription as S, AlertDialogFooter as x, AlertDialogHeader as g, AlertDialogOverlay as C, AlertDialogPortal as D, AlertDialogTitle as b, AlertDialogTrigger as T } from "./components/ui/alert-dialog.js";
6
6
  import { Alert as h, AlertDescription as A, AlertIcon as I, AlertTitle as M, alertVariants as w } from "./components/ui/alert.js";
7
- import { Avatar as F, AvatarFallback as v, AvatarImage as B, avatarVariants as L } from "./components/ui/avatar.js";
7
+ import { Avatar as v, AvatarFallback as F, AvatarImage as B, avatarVariants as L } from "./components/ui/avatar.js";
8
8
  import { Badge as E, badgeVariants as k } from "./components/ui/badge.js";
9
- import { Breadcrumb as V, BreadcrumbArrowSeparator as N, BreadcrumbEllipsis as G, BreadcrumbHeader as O, BreadcrumbItem as _, BreadcrumbLink as U, BreadcrumbList as z, BreadcrumbPage as W, BreadcrumbSeparator as K, HomeIcon as q } from "./components/ui/breadcrumb.js";
9
+ import { Breadcrumb as V, BreadcrumbArrowSeparator as N, BreadcrumbEllipsis as O, BreadcrumbHeader as G, BreadcrumbItem as _, BreadcrumbLink as U, BreadcrumbList as z, BreadcrumbPage as W, BreadcrumbSeparator as K, HomeIcon as q } from "./components/ui/breadcrumb.js";
10
10
  import { ButtonGroup as Z, buttonGroupVariants as j } from "./components/ui/button-group.js";
11
11
  import { Button as Q } from "./components/ui/button.js";
12
12
  import { Calendar as $, CalendarDayButton as ee } from "./components/ui/calendar.js";
13
- import { Card as re, CardContent as te, CardDescription as ae, CardFooter as ie, CardHeader as ne, CardTitle as pe } from "./components/ui/card.js";
13
+ import { Card as oe, CardContent as te, CardDescription as ae, CardFooter as ie, CardHeader as ne, CardTitle as pe } from "./components/ui/card.js";
14
14
  import { Chart as me, ChartActions as de, ChartContainer as se, ChartContent as fe, ChartFullScreen as ue, ChartHeader as ce, ChartTitle as Se } from "./components/ui/chart/chart.js";
15
15
  import { getBaseChartOptions as ge } from "./components/ui/chart/chart.utils.js";
16
16
  import { Checkbox as De } from "./components/ui/checkbox.js";
@@ -18,52 +18,52 @@ import { Chip as Te } from "./components/ui/chips.js";
18
18
  import { DatePicker as he } from "./components/ui/date-picker/date-picker.js";
19
19
  import { MonthPicker as Ie } from "./components/ui/date-picker/month-picker.js";
20
20
  import { MonthRangePicker as we } from "./components/ui/date-picker/month-range-picker.js";
21
- import { DateRangePicker as Fe } from "./components/ui/date-picker/date-range-picker.js";
21
+ import { DateRangePicker as ve } from "./components/ui/date-picker/date-range-picker.js";
22
22
  import { WeekPicker as Be } from "./components/ui/date-picker/week-picker.js";
23
23
  import { WeekRangePicker as He } from "./components/ui/date-picker/week-range-picker.js";
24
24
  import { MultiDatePicker as ke } from "./components/ui/date-picker/multi-date-picker.js";
25
25
  import { MultiMonthPicker as Ve } from "./components/ui/date-picker/multi-month-picker.js";
26
- import { MultiWeekPicker as Ge } from "./components/ui/date-picker/multi-week-picker.js";
26
+ import { MultiWeekPicker as Oe } from "./components/ui/date-picker/multi-week-picker.js";
27
27
  import { Dialog as _e, DialogBody as Ue, DialogClose as ze, DialogContent as We, DialogDescription as Ke, DialogFooter as qe, DialogHeader as Xe, DialogOverlay as Ze, DialogPortal as je, DialogTitle as Je, DialogTrigger as Qe } from "./components/ui/dialog.js";
28
- import { Drawer as $e, DrawerClose as eo, DrawerContent as oo, DrawerDescription as ro, DrawerFooter as to, DrawerHeader as ao, DrawerOverlay as io, DrawerPortal as no, DrawerTitle as po, DrawerTrigger as lo } from "./components/ui/drawer.js";
29
- import { DropdownMenu as so, DropdownMenuCheckboxItem as fo, DropdownMenuContent as uo, DropdownMenuFooter as co, DropdownMenuGroup as So, DropdownMenuItem as xo, DropdownMenuLabel as go, DropdownMenuPortal as Co, DropdownMenuRadioGroup as Do, DropdownMenuRadioItem as bo, DropdownMenuSeparator as To, DropdownMenuShortcut as Po, DropdownMenuSub as ho, DropdownMenuSubContent as Ao, DropdownMenuSubTrigger as Io, DropdownMenuTrigger as Mo } from "./components/ui/dropdown-menu.js";
30
- import { DynamicLayout as yo, dynamicLayoutVariants as Fo } from "./components/ui/dynamic-layout.js";
31
- import { EmptyContainer as Bo, EmptyContainerAction as Lo, EmptyContainerDescription as Ho, EmptyContainerImage as Eo, EmptyContainerTitle as ko } from "./components/ui/empty-container.js";
32
- import { FileUpload as Vo, FileUploadClose as No, FileUploadContent as Go, FileUploadDescription as Oo, FileUploadDropZone as _o, FileUploadFooter as Uo, FileUploadHeader as zo, FileUploadItem as Wo, FileUploadList as Ko, FileUploadTitle as qo } from "./components/ui/file-upload.js";
33
- import { FilterPanel as Zo, FilterPanelBody as jo, FilterPanelFooter as Jo, FilterPanelHeader as Qo, FilterPanelSidebar as Yo } from "./components/ui/filter-panel/filter-panel.js";
34
- import { FilterStrip as er } from "./components/ui/filter-strip/filter-strip.js";
35
- import { Header as rr, HeaderBotButton as tr, HeaderLeft as ar, HeaderLogo as ir, HeaderRight as nr, HeaderSeparator as pr, HeaderTitle as lr, NotificationIconButton as mr } from "./components/ui/header.js";
36
- import { HoverCard as sr, HoverCardContent as fr, HoverCardTrigger as ur } from "./components/ui/hover-card.js";
37
- import { Input as Sr } from "./components/ui/input.js";
38
- import { Loader as gr, loaderVariants as Cr } from "./components/ui/loader.js";
39
- import { NestedList as br } from "./components/ui/nested-list/nested-list.js";
40
- import { SelectionMode as Pr } from "./components/ui/types/nested-list.types.js";
41
- import { NotificationPanel as Ar, NotificationPanelBody as Ir, NotificationPanelContent as Mr, NotificationPanelFooter as wr, NotificationPanelHeader as yr, useNotificationContext as Fr } from "./components/ui/notification-panel/notification-panel.js";
42
- import { NotificationEmpty as Br, NotificationGroup as Lr, NotificationList as Hr } from "./components/ui/notification-panel/notification-list.js";
43
- import { NotificationItem as kr, NotificationItemActions as Rr, NotificationItemContent as Vr, NotificationItemDescription as Nr, NotificationItemIcon as Gr, NotificationItemTitle as Or } from "./components/ui/notification-panel/notification-item.js";
44
- import { Popover as Ur, PopoverAnchor as zr, PopoverBody as Wr, PopoverClose as Kr, PopoverContent as qr, PopoverFooter as Xr, PopoverHeader as Zr, PopoverTitle as jr, PopoverTrigger as Jr } from "./components/ui/popover.js";
45
- import { Portal as Yr } from "./components/ui/portal.js";
46
- import { Progress as et, Progress as ot } from "./components/ui/progress.js";
28
+ import { Drawer as $e, DrawerClose as er, DrawerContent as rr, DrawerDescription as or, DrawerFooter as tr, DrawerHeader as ar, DrawerOverlay as ir, DrawerPortal as nr, DrawerTitle as pr, DrawerTrigger as lr } from "./components/ui/drawer.js";
29
+ import { DropdownMenu as dr, DropdownMenuCheckboxItem as sr, DropdownMenuContent as fr, DropdownMenuFooter as ur, DropdownMenuGroup as cr, DropdownMenuItem as Sr, DropdownMenuLabel as xr, DropdownMenuPortal as gr, DropdownMenuRadioGroup as Cr, DropdownMenuRadioItem as Dr, DropdownMenuSeparator as br, DropdownMenuShortcut as Tr, DropdownMenuSub as Pr, DropdownMenuSubContent as hr, DropdownMenuSubTrigger as Ar, DropdownMenuTrigger as Ir } from "./components/ui/dropdown-menu.js";
30
+ import { DynamicLayout as wr, dynamicLayoutVariants as yr } from "./components/ui/dynamic-layout.js";
31
+ import { EmptyContainer as Fr, EmptyContainerAction as Br, EmptyContainerDescription as Lr, EmptyContainerImage as Hr, EmptyContainerTitle as Er } from "./components/ui/empty-container.js";
32
+ import { FileUpload as Rr, FileUploadClose as Vr, FileUploadContent as Nr, FileUploadDescription as Or, FileUploadDropZone as Gr, FileUploadFooter as _r, FileUploadHeader as Ur, FileUploadItem as zr, FileUploadList as Wr, FileUploadTitle as Kr } from "./components/ui/file-upload.js";
33
+ import { FilterPanel as Xr, FilterPanelBody as Zr, FilterPanelFooter as jr, FilterPanelHeader as Jr, FilterPanelSidebar as Qr } from "./components/ui/filter-panel/filter-panel.js";
34
+ import { FilterStrip as $r } from "./components/ui/filter-strip/filter-strip.js";
35
+ import { Header as ro, HeaderBotButton as oo, HeaderLeft as to, HeaderLogo as ao, HeaderRight as io, HeaderSeparator as no, HeaderTitle as po, NotificationIconButton as lo } from "./components/ui/header.js";
36
+ import { HoverCard as so, HoverCardContent as fo, HoverCardTrigger as uo } from "./components/ui/hover-card.js";
37
+ import { Input as So } from "./components/ui/input.js";
38
+ import { Loader as go, loaderVariants as Co } from "./components/ui/loader.js";
39
+ import { NestedList as bo } from "./components/ui/nested-list/nested-list.js";
40
+ import { SelectionMode as Po } from "./components/ui/types/nested-list.types.js";
41
+ import { NotificationPanel as Ao, NotificationPanelBody as Io, NotificationPanelContent as Mo, NotificationPanelFooter as wo, NotificationPanelHeader as yo, useNotificationContext as vo } from "./components/ui/notification-panel/notification-panel.js";
42
+ import { NotificationEmpty as Bo, NotificationGroup as Lo, NotificationList as Ho } from "./components/ui/notification-panel/notification-list.js";
43
+ import { NotificationItem as ko, NotificationItemActions as Ro, NotificationItemContent as Vo, NotificationItemDescription as No, NotificationItemIcon as Oo, NotificationItemTitle as Go } from "./components/ui/notification-panel/notification-item.js";
44
+ import { Popover as Uo, PopoverAnchor as zo, PopoverBody as Wo, PopoverClose as Ko, PopoverContent as qo, PopoverFooter as Xo, PopoverHeader as Zo, PopoverTitle as jo, PopoverTrigger as Jo } from "./components/ui/popover.js";
45
+ import { Portal as Yo } from "./components/ui/portal.js";
46
+ import { Progress as et, Progress as rt } from "./components/ui/progress.js";
47
47
  import { Prompt as tt, PromptClose as at, promptVariants as it } from "./components/ui/prompt.js";
48
48
  import { RadioGroup as pt, RadioGroupItem as lt } from "./components/ui/radio-group.js";
49
49
  import { default as dt } from "./components/ui/select/select.js";
50
50
  import { cx as ft, getIndeterminateState as ut, getLeafOptions as ct, getSelectedCount as St, getSequence as xt, isInvertedSelection as gt, isOptionArray as Ct, isSelected as Dt } from "./components/ui/select/utils/select.js";
51
51
  import { Separator as Tt } from "./components/ui/separator.js";
52
- import { Sheet as ht, SheetBody as At, SheetClose as It, SheetContent as Mt, SheetDescription as wt, SheetFooter as yt, SheetHeader as Ft, SheetOverlay as vt, SheetPortal as Bt, SheetTitle as Lt, SheetTrigger as Ht } from "./components/ui/sheet.js";
53
- import { Sidebar as kt, SidebarContent as Rt, SidebarFooter as Vt, SidebarGroup as Nt, SidebarGroupAction as Gt, SidebarGroupContent as Ot, SidebarGroupLabel as _t, SidebarHeader as Ut, SidebarInput as zt, SidebarInset as Wt, SidebarLogout as Kt, SidebarMenu as qt, SidebarMenuAction as Xt, SidebarMenuBadge as Zt, SidebarMenuButton as jt, SidebarMenuCollapsible as Jt, SidebarMenuItem as Qt, SidebarMenuSkeleton as Yt, SidebarMenuSub as $t, SidebarMenuSubButton as ea, SidebarMenuSubItem as oa, SidebarProvider as ra, SidebarRail as ta, SidebarSeparator as aa, SidebarTrigger as ia, useSidebar as na } from "./components/ui/sidebar.js";
52
+ import { Sheet as ht, SheetBody as At, SheetClose as It, SheetContent as Mt, SheetDescription as wt, SheetFooter as yt, SheetHeader as vt, SheetOverlay as Ft, SheetPortal as Bt, SheetTitle as Lt, SheetTrigger as Ht } from "./components/ui/sheet.js";
53
+ import { Sidebar as kt, SidebarContent as Rt, SidebarFooter as Vt, SidebarGroup as Nt, SidebarGroupAction as Ot, SidebarGroupContent as Gt, SidebarGroupLabel as _t, SidebarHeader as Ut, SidebarInput as zt, SidebarInset as Wt, SidebarLogout as Kt, SidebarMenu as qt, SidebarMenuAction as Xt, SidebarMenuBadge as Zt, SidebarMenuButton as jt, SidebarMenuCollapsible as Jt, SidebarMenuItem as Qt, SidebarMenuSkeleton as Yt, SidebarMenuSub as $t, SidebarMenuSubButton as ea, SidebarMenuSubItem as ra, SidebarProvider as oa, SidebarRail as ta, SidebarSeparator as aa, SidebarTrigger as ia, useSidebar as na } from "./components/ui/sidebar.js";
54
54
  import { ExpandableSku as la } from "./components/ui/expandable-sku/expandable-sku.js";
55
55
  import { Skeleton as da } from "./components/ui/skeleton.js";
56
56
  import { Slider as fa } from "./components/ui/slider.js";
57
57
  import { SmartInput as ca } from "./components/ui/smart-input.js";
58
58
  import { StatisticsCardChart as xa, StatisticsCardHeader as ga, StatisticsCardLegend as Ca, StatisticsCardLegendItem as Da, StatisticsCardRoot as ba, StatisticsCardSummary as Ta, StatisticsCardSummaryItem as Pa, StatisticsCardTitle as ha, StatisticsCardTitleIcon as Aa, StatisticsCardTitleText as Ia, StatisticsCardTitleTooltip as Ma } from "./components/ui/statistics-card.js";
59
- import { Stepper as ya, stepVariants as Fa, stepperVariants as va } from "./components/ui/stepper.js";
59
+ import { Stepper as ya, stepVariants as va, stepperVariants as Fa } from "./components/ui/stepper.js";
60
60
  import { Switch as La } from "./components/ui/switch.js";
61
61
  import { Tabs as Ea, TabsContent as ka, TabsImage as Ra, TabsList as Va, TabsTrigger as Na } from "./components/ui/tabs.js";
62
- import { TagGroup as Oa, tagGroupVariants as _a } from "./components/ui/tag-group.js";
62
+ import { TagGroup as Ga, tagGroupVariants as _a } from "./components/ui/tag-group.js";
63
63
  import { Tag as za, tagVariants as Wa } from "./components/ui/tag.js";
64
64
  import { Textarea as qa } from "./components/ui/textarea.js";
65
65
  import { Toast as Za, ToastAction as ja, ToastClose as Ja, ToastDescription as Qa, ToastProvider as Ya, ToastTitle as $a, ToastViewport as ei } from "./components/ui/toast.js";
66
- import { Toaster as ri } from "./components/ui/toaster.js";
66
+ import { Toaster as oi } from "./components/ui/toaster.js";
67
67
  import { Tooltip as ai, TooltipContent as ii, TooltipProvider as ni, TooltipTrigger as pi } from "./components/ui/tooltip.js";
68
68
  import { DataTable as mi, DataTableContent as di, DataTableToolbar as si } from "./components/ui/data-table/data-table.js";
69
69
  import { DATA_TABLE_SCOPED_SHEET_HOST_MIN_HEIGHT_PX as ui, TABLE_VIEWPORT_SHELL_EXPANDED_CLASS as ci } from "./components/ui/data-table/data-table-constants.js";
@@ -71,10 +71,10 @@ import { DataTableColumnList as xi } from "./components/ui/data-table/data-table
71
71
  import { DataTableContext as Ci, useDataTable as Di } from "./components/ui/data-table/data-table-context.js";
72
72
  import { DataTableFormatOptions as Ti } from "./components/ui/data-table/data-table-format-options.js";
73
73
  import { DataTableSheet as hi, DataTableSheetContent as Ai, DataTableSheetHeader as Ii, DataTableSheetTrigger as Mi } from "./components/ui/data-table/data-table-sheet.js";
74
- import { DataTableViewMenuContent as yi, DataTableViewMenuDensity as Fi, DataTableViewMenuSettingsItem as vi, DataTableViewMenuTrigger as Bi, DataTableViewMenuViewportExpand as Li } from "./components/ui/data-table/data-table-view-menu.js";
74
+ import { DataTableViewMenuContent as yi, DataTableViewMenuDensity as vi, DataTableViewMenuSettingsItem as Fi, DataTableViewMenuTrigger as Bi, DataTableViewMenuViewportExpand as Li } from "./components/ui/data-table/data-table-view-menu.js";
75
75
  import { DataTableSavedViews as Ei } from "./components/ui/data-table/data-table-saved-views.js";
76
- import { BROWSER_SHORTCUTS as Ri, COMMAND_SOURCE_LABELS as Vi, deserialiseOverrides as Ni, fuzzyFilter as Gi, fuzzyScore as Oi, getBrowserShortcutInfo as _i, getKeySymbol as Ui, isMac as zi, isReservedShortcut as Wi, keybindingFromEvent as Ki, keybindingToString as qi, keybindingToSymbols as Xi, keybindingsEqual as Zi, matchesKeybinding as ji, parseKeybinding as Ji, scopePriority as Qi, serialiseOverrides as Yi } from "./components/ui/command-palette/utils.js";
77
- import { LocalStorageAdapter as en, ShortcutRegistry as on } from "./components/ui/command-palette/shortcut-registry.js";
76
+ import { BROWSER_SHORTCUTS as Ri, COMMAND_SOURCE_LABELS as Vi, deserialiseOverrides as Ni, fuzzyFilter as Oi, fuzzyScore as Gi, getBrowserShortcutInfo as _i, getKeySymbol as Ui, isMac as zi, isReservedShortcut as Wi, keybindingFromEvent as Ki, keybindingToString as qi, keybindingToSymbols as Xi, keybindingsEqual as Zi, matchesKeybinding as ji, parseKeybinding as Ji, scopePriority as Qi, serialiseOverrides as Yi } from "./components/ui/command-palette/utils.js";
77
+ import { LocalStorageAdapter as en, ShortcutRegistry as rn } from "./components/ui/command-palette/shortcut-registry.js";
78
78
  import { CommandPaletteProvider as tn, useCommandPalette as an } from "./components/ui/command-palette/command-palette-context.js";
79
79
  import { useShortcut as pn } from "./components/ui/command-palette/use-shortcut.js";
80
80
  import { useGlobalShortcut as mn } from "./components/ui/command-palette/use-global-shortcut.js";
@@ -83,28 +83,30 @@ import { ShortcutScopeProvider as un } from "./components/ui/command-palette/sho
83
83
  import { CommandPalette as Sn, CommandPaletteEmpty as xn, CommandPaletteFooter as gn, CommandPaletteGroup as Cn, CommandPaletteInput as Dn, CommandPaletteItem as bn, CommandPaletteList as Tn, CommandPaletteSeparator as Pn, CommandPaletteShortcut as hn } from "./components/ui/command-palette/command-palette.js";
84
84
  import { Kbd as In } from "./components/ui/command-palette/kbd.js";
85
85
  import { ShortcutSettings as wn } from "./components/ui/command-palette/shortcut-settings.js";
86
- import { toast as Fn, useToast as vn } from "./hooks/use-toast.js";
87
- import { AG_GRID_VALUE_FORMATTERS as Ln } from "./components/ui/ag-grid-react/value-formatters.js";
88
- import { processBackendColumnDefs as En } from "./components/ui/ag-grid-react/process-backend-columndefs.js";
89
- import { addRowDataEditableCheck as Rn } from "./components/ui/ag-grid-react/editable-utils.js";
90
- import { SplitCellRenderer as Nn } from "./components/ui/ag-grid-react/cell-renderers/split-cell-renderer.js";
91
- import { ImpactNovaI18nProvider as On, useImpactNovaI18n as _n } from "./i18n/ImpactNovaI18nContext.js";
92
- import { buildSectionedFlatList as zn } from "./lib/virtualized/sectioned.js";
93
- import { de as Kn } from "./i18n/locales/de.js";
94
- import { defaultMessages as Xn } from "./i18n/defaultMessages.js";
95
- import { es as jn } from "./i18n/locales/es.js";
96
- import { getDateFnsLocale as Qn, getIntlLocale as Yn } from "./i18n/getDateFnsLocale.js";
97
- import { getSelectionCountsFromState as ep } from "./lib/virtualized/selection-counts.js";
98
- import { hi as rp } from "./i18n/locales/hi.js";
99
- import { kn as ap } from "./i18n/locales/kn.js";
100
- import { useDataGridVirtualRows as np } from "./lib/virtualized/useDataGrid.js";
101
- import { useDataSource as lp } from "./lib/virtualized/useDataSource.js";
102
- import { useDebouncedValue as dp } from "./lib/virtualized/useDebouncedValue.js";
103
- import { useRowState as fp } from "./lib/virtualized/useRowState.js";
104
- import { useVirtualizedList as cp } from "./lib/virtualized/useVirtualizedList.js";
105
- import { useVirtualizedRows as xp } from "./lib/virtualized/useVirtualizedRows.js";
86
+ import { ShortcutOverlayProvider as vn, useShortcutOverlay as Fn } from "./components/ui/command-palette/shortcut-overlay-context.js";
87
+ import { ShortcutOverlay as Ln } from "./components/ui/command-palette/shortcut-overlay.js";
88
+ import { toast as En, useToast as kn } from "./hooks/use-toast.js";
89
+ import { AG_GRID_VALUE_FORMATTERS as Vn } from "./components/ui/ag-grid-react/value-formatters.js";
90
+ import { processBackendColumnDefs as On } from "./components/ui/ag-grid-react/process-backend-columndefs.js";
91
+ import { addRowDataEditableCheck as _n } from "./components/ui/ag-grid-react/editable-utils.js";
92
+ import { SplitCellRenderer as zn } from "./components/ui/ag-grid-react/cell-renderers/split-cell-renderer.js";
93
+ import { ImpactNovaI18nProvider as Kn, useImpactNovaI18n as qn } from "./i18n/ImpactNovaI18nContext.js";
94
+ import { buildSectionedFlatList as Zn } from "./lib/virtualized/sectioned.js";
95
+ import { de as Jn } from "./i18n/locales/de.js";
96
+ import { defaultMessages as Yn } from "./i18n/defaultMessages.js";
97
+ import { es as ep } from "./i18n/locales/es.js";
98
+ import { getDateFnsLocale as op, getIntlLocale as tp } from "./i18n/getDateFnsLocale.js";
99
+ import { getSelectionCountsFromState as ip } from "./lib/virtualized/selection-counts.js";
100
+ import { hi as pp } from "./i18n/locales/hi.js";
101
+ import { kn as mp } from "./i18n/locales/kn.js";
102
+ import { useDataGridVirtualRows as sp } from "./lib/virtualized/useDataGrid.js";
103
+ import { useDataSource as up } from "./lib/virtualized/useDataSource.js";
104
+ import { useDebouncedValue as Sp } from "./lib/virtualized/useDebouncedValue.js";
105
+ import { useRowState as gp } from "./lib/virtualized/useRowState.js";
106
+ import { useVirtualizedList as Dp } from "./lib/virtualized/useVirtualizedList.js";
107
+ import { useVirtualizedRows as Tp } from "./lib/virtualized/useVirtualizedRows.js";
106
108
  export {
107
- Ln as AG_GRID_VALUE_FORMATTERS,
109
+ Vn as AG_GRID_VALUE_FORMATTERS,
108
110
  n as Accordion,
109
111
  p as AccordionContent,
110
112
  l as AccordionItem,
@@ -125,15 +127,15 @@ export {
125
127
  T as AlertDialogTrigger,
126
128
  I as AlertIcon,
127
129
  M as AlertTitle,
128
- F as Avatar,
129
- v as AvatarFallback,
130
+ v as Avatar,
131
+ F as AvatarFallback,
130
132
  B as AvatarImage,
131
133
  Ri as BROWSER_SHORTCUTS,
132
134
  E as Badge,
133
135
  V as Breadcrumb,
134
136
  N as BreadcrumbArrowSeparator,
135
- G as BreadcrumbEllipsis,
136
- O as BreadcrumbHeader,
137
+ O as BreadcrumbEllipsis,
138
+ G as BreadcrumbHeader,
137
139
  _ as BreadcrumbItem,
138
140
  U as BreadcrumbLink,
139
141
  z as BreadcrumbList,
@@ -144,7 +146,7 @@ export {
144
146
  Vi as COMMAND_SOURCE_LABELS,
145
147
  $ as Calendar,
146
148
  ee as CalendarDayButton,
147
- re as Card,
149
+ oe as Card,
148
150
  te as CardContent,
149
151
  ae as CardDescription,
150
152
  ie as CardFooter,
@@ -182,12 +184,12 @@ export {
182
184
  Mi as DataTableSheetTrigger,
183
185
  si as DataTableToolbar,
184
186
  yi as DataTableViewMenuContent,
185
- Fi as DataTableViewMenuDensity,
186
- vi as DataTableViewMenuSettingsItem,
187
+ vi as DataTableViewMenuDensity,
188
+ Fi as DataTableViewMenuSettingsItem,
187
189
  Bi as DataTableViewMenuTrigger,
188
190
  Li as DataTableViewMenuViewportExpand,
189
191
  he as DatePicker,
190
- Fe as DateRangePicker,
192
+ ve as DateRangePicker,
191
193
  _e as Dialog,
192
194
  Ue as DialogBody,
193
195
  ze as DialogClose,
@@ -200,110 +202,110 @@ export {
200
202
  Je as DialogTitle,
201
203
  Qe as DialogTrigger,
202
204
  $e as Drawer,
203
- eo as DrawerClose,
204
- oo as DrawerContent,
205
- ro as DrawerDescription,
206
- to as DrawerFooter,
207
- ao as DrawerHeader,
208
- io as DrawerOverlay,
209
- no as DrawerPortal,
210
- po as DrawerTitle,
211
- lo as DrawerTrigger,
212
- so as DropdownMenu,
213
- fo as DropdownMenuCheckboxItem,
214
- uo as DropdownMenuContent,
215
- co as DropdownMenuFooter,
216
- So as DropdownMenuGroup,
217
- xo as DropdownMenuItem,
218
- go as DropdownMenuLabel,
219
- Co as DropdownMenuPortal,
220
- Do as DropdownMenuRadioGroup,
221
- bo as DropdownMenuRadioItem,
222
- To as DropdownMenuSeparator,
223
- Po as DropdownMenuShortcut,
224
- ho as DropdownMenuSub,
225
- Ao as DropdownMenuSubContent,
226
- Io as DropdownMenuSubTrigger,
227
- Mo as DropdownMenuTrigger,
228
- yo as DynamicLayout,
229
- Bo as EmptyContainer,
230
- Lo as EmptyContainerAction,
231
- Ho as EmptyContainerDescription,
232
- Eo as EmptyContainerImage,
233
- ko as EmptyContainerTitle,
205
+ er as DrawerClose,
206
+ rr as DrawerContent,
207
+ or as DrawerDescription,
208
+ tr as DrawerFooter,
209
+ ar as DrawerHeader,
210
+ ir as DrawerOverlay,
211
+ nr as DrawerPortal,
212
+ pr as DrawerTitle,
213
+ lr as DrawerTrigger,
214
+ dr as DropdownMenu,
215
+ sr as DropdownMenuCheckboxItem,
216
+ fr as DropdownMenuContent,
217
+ ur as DropdownMenuFooter,
218
+ cr as DropdownMenuGroup,
219
+ Sr as DropdownMenuItem,
220
+ xr as DropdownMenuLabel,
221
+ gr as DropdownMenuPortal,
222
+ Cr as DropdownMenuRadioGroup,
223
+ Dr as DropdownMenuRadioItem,
224
+ br as DropdownMenuSeparator,
225
+ Tr as DropdownMenuShortcut,
226
+ Pr as DropdownMenuSub,
227
+ hr as DropdownMenuSubContent,
228
+ Ar as DropdownMenuSubTrigger,
229
+ Ir as DropdownMenuTrigger,
230
+ wr as DynamicLayout,
231
+ Fr as EmptyContainer,
232
+ Br as EmptyContainerAction,
233
+ Lr as EmptyContainerDescription,
234
+ Hr as EmptyContainerImage,
235
+ Er as EmptyContainerTitle,
234
236
  la as ExpandableSku,
235
- Vo as FileUpload,
236
- No as FileUploadClose,
237
- Go as FileUploadContent,
238
- Oo as FileUploadDescription,
239
- _o as FileUploadDropZone,
240
- Uo as FileUploadFooter,
241
- zo as FileUploadHeader,
242
- Wo as FileUploadItem,
243
- Ko as FileUploadList,
244
- qo as FileUploadTitle,
245
- Zo as FilterPanel,
246
- jo as FilterPanelBody,
247
- Jo as FilterPanelFooter,
248
- Qo as FilterPanelHeader,
249
- Yo as FilterPanelSidebar,
250
- er as FilterStrip,
251
- rr as Header,
252
- tr as HeaderBotButton,
253
- ar as HeaderLeft,
254
- ir as HeaderLogo,
255
- nr as HeaderRight,
256
- pr as HeaderSeparator,
257
- lr as HeaderTitle,
237
+ Rr as FileUpload,
238
+ Vr as FileUploadClose,
239
+ Nr as FileUploadContent,
240
+ Or as FileUploadDescription,
241
+ Gr as FileUploadDropZone,
242
+ _r as FileUploadFooter,
243
+ Ur as FileUploadHeader,
244
+ zr as FileUploadItem,
245
+ Wr as FileUploadList,
246
+ Kr as FileUploadTitle,
247
+ Xr as FilterPanel,
248
+ Zr as FilterPanelBody,
249
+ jr as FilterPanelFooter,
250
+ Jr as FilterPanelHeader,
251
+ Qr as FilterPanelSidebar,
252
+ $r as FilterStrip,
253
+ ro as Header,
254
+ oo as HeaderBotButton,
255
+ to as HeaderLeft,
256
+ ao as HeaderLogo,
257
+ io as HeaderRight,
258
+ no as HeaderSeparator,
259
+ po as HeaderTitle,
258
260
  q as HomeIcon,
259
- sr as HoverCard,
260
- fr as HoverCardContent,
261
- ur as HoverCardTrigger,
262
- o as Icons,
263
- On as ImpactNovaI18nProvider,
264
- Sr as Input,
261
+ so as HoverCard,
262
+ fo as HoverCardContent,
263
+ uo as HoverCardTrigger,
264
+ r as Icons,
265
+ Kn as ImpactNovaI18nProvider,
266
+ So as Input,
265
267
  In as Kbd,
266
- gr as Loader,
268
+ go as Loader,
267
269
  en as LocalStorageAdapter,
268
270
  Ie as MonthPicker,
269
271
  we as MonthRangePicker,
270
272
  ke as MultiDatePicker,
271
273
  Ve as MultiMonthPicker,
272
- Ge as MultiWeekPicker,
273
- br as NestedList,
274
- Br as NotificationEmpty,
275
- Lr as NotificationGroup,
276
- mr as NotificationIconButton,
277
- kr as NotificationItem,
278
- Rr as NotificationItemActions,
279
- Vr as NotificationItemContent,
280
- Nr as NotificationItemDescription,
281
- Gr as NotificationItemIcon,
282
- Or as NotificationItemTitle,
283
- Hr as NotificationList,
284
- Ar as NotificationPanel,
285
- Ir as NotificationPanelBody,
286
- Mr as NotificationPanelContent,
287
- wr as NotificationPanelFooter,
288
- yr as NotificationPanelHeader,
289
- Ur as Popover,
290
- zr as PopoverAnchor,
291
- Wr as PopoverBody,
292
- Kr as PopoverClose,
293
- qr as PopoverContent,
294
- Xr as PopoverFooter,
295
- Zr as PopoverHeader,
296
- jr as PopoverTitle,
297
- Jr as PopoverTrigger,
298
- Yr as Portal,
274
+ Oe as MultiWeekPicker,
275
+ bo as NestedList,
276
+ Bo as NotificationEmpty,
277
+ Lo as NotificationGroup,
278
+ lo as NotificationIconButton,
279
+ ko as NotificationItem,
280
+ Ro as NotificationItemActions,
281
+ Vo as NotificationItemContent,
282
+ No as NotificationItemDescription,
283
+ Oo as NotificationItemIcon,
284
+ Go as NotificationItemTitle,
285
+ Ho as NotificationList,
286
+ Ao as NotificationPanel,
287
+ Io as NotificationPanelBody,
288
+ Mo as NotificationPanelContent,
289
+ wo as NotificationPanelFooter,
290
+ yo as NotificationPanelHeader,
291
+ Uo as Popover,
292
+ zo as PopoverAnchor,
293
+ Wo as PopoverBody,
294
+ Ko as PopoverClose,
295
+ qo as PopoverContent,
296
+ Xo as PopoverFooter,
297
+ Zo as PopoverHeader,
298
+ jo as PopoverTitle,
299
+ Jo as PopoverTrigger,
300
+ Yo as Portal,
299
301
  et as Progress,
300
- ot as ProgressBar,
302
+ rt as ProgressBar,
301
303
  tt as Prompt,
302
304
  at as PromptClose,
303
305
  pt as RadioGroup,
304
306
  lt as RadioGroupItem,
305
307
  dt as Select,
306
- Pr as SelectionMode,
308
+ Po as SelectionMode,
307
309
  Tt as Separator,
308
310
  ht as Sheet,
309
311
  At as SheetBody,
@@ -311,20 +313,22 @@ export {
311
313
  Mt as SheetContent,
312
314
  wt as SheetDescription,
313
315
  yt as SheetFooter,
314
- Ft as SheetHeader,
315
- vt as SheetOverlay,
316
+ vt as SheetHeader,
317
+ Ft as SheetOverlay,
316
318
  Bt as SheetPortal,
317
319
  Lt as SheetTitle,
318
320
  Ht as SheetTrigger,
319
- on as ShortcutRegistry,
321
+ Ln as ShortcutOverlay,
322
+ vn as ShortcutOverlayProvider,
323
+ rn as ShortcutRegistry,
320
324
  un as ShortcutScopeProvider,
321
325
  wn as ShortcutSettings,
322
326
  kt as Sidebar,
323
327
  Rt as SidebarContent,
324
328
  Vt as SidebarFooter,
325
329
  Nt as SidebarGroup,
326
- Gt as SidebarGroupAction,
327
- Ot as SidebarGroupContent,
330
+ Ot as SidebarGroupAction,
331
+ Gt as SidebarGroupContent,
328
332
  _t as SidebarGroupLabel,
329
333
  Ut as SidebarHeader,
330
334
  zt as SidebarInput,
@@ -339,15 +343,15 @@ export {
339
343
  Yt as SidebarMenuSkeleton,
340
344
  $t as SidebarMenuSub,
341
345
  ea as SidebarMenuSubButton,
342
- oa as SidebarMenuSubItem,
343
- ra as SidebarProvider,
346
+ ra as SidebarMenuSubItem,
347
+ oa as SidebarProvider,
344
348
  ta as SidebarRail,
345
349
  aa as SidebarSeparator,
346
350
  ia as SidebarTrigger,
347
351
  da as Skeleton,
348
352
  fa as Slider,
349
353
  ca as SmartInput,
350
- Nn as SplitCellRenderer,
354
+ zn as SplitCellRenderer,
351
355
  xa as StatisticsCardChart,
352
356
  ga as StatisticsCardHeader,
353
357
  Ca as StatisticsCardLegend,
@@ -368,7 +372,7 @@ export {
368
372
  Va as TabsList,
369
373
  Na as TabsTrigger,
370
374
  za as Tag,
371
- Oa as TagGroup,
375
+ Ga as TagGroup,
372
376
  qa as Textarea,
373
377
  Za as Toast,
374
378
  ja as ToastAction,
@@ -377,38 +381,38 @@ export {
377
381
  Ya as ToastProvider,
378
382
  $a as ToastTitle,
379
383
  ei as ToastViewport,
380
- ri as Toaster,
384
+ oi as Toaster,
381
385
  ai as Tooltip,
382
386
  ii as TooltipContent,
383
387
  ni as TooltipProvider,
384
388
  pi as TooltipTrigger,
385
389
  Be as WeekPicker,
386
390
  He as WeekRangePicker,
387
- Rn as addRowDataEditableCheck,
391
+ _n as addRowDataEditableCheck,
388
392
  w as alertVariants,
389
393
  L as avatarVariants,
390
394
  k as badgeVariants,
391
- zn as buildSectionedFlatList,
395
+ Zn as buildSectionedFlatList,
392
396
  j as buttonGroupVariants,
393
397
  ft as cx,
394
- Kn as de,
395
- Xn as defaultMessages,
398
+ Jn as de,
399
+ Yn as defaultMessages,
396
400
  Ni as deserialiseOverrides,
397
- Fo as dynamicLayoutVariants,
398
- jn as es,
399
- Gi as fuzzyFilter,
400
- Oi as fuzzyScore,
401
+ yr as dynamicLayoutVariants,
402
+ ep as es,
403
+ Oi as fuzzyFilter,
404
+ Gi as fuzzyScore,
401
405
  ge as getBaseChartOptions,
402
406
  _i as getBrowserShortcutInfo,
403
- Qn as getDateFnsLocale,
407
+ op as getDateFnsLocale,
404
408
  ut as getIndeterminateState,
405
- Yn as getIntlLocale,
409
+ tp as getIntlLocale,
406
410
  Ui as getKeySymbol,
407
411
  ct as getLeafOptions,
408
412
  St as getSelectedCount,
409
- ep as getSelectionCountsFromState,
413
+ ip as getSelectionCountsFromState,
410
414
  xt as getSequence,
411
- rp as hi,
415
+ pp as hi,
412
416
  gt as isInvertedSelection,
413
417
  zi as isMac,
414
418
  Ct as isOptionArray,
@@ -418,32 +422,33 @@ export {
418
422
  qi as keybindingToString,
419
423
  Xi as keybindingToSymbols,
420
424
  Zi as keybindingsEqual,
421
- ap as kn,
422
- Cr as loaderVariants,
425
+ mp as kn,
426
+ Co as loaderVariants,
423
427
  ji as matchesKeybinding,
424
428
  Ji as parseKeybinding,
425
- En as processBackendColumnDefs,
429
+ On as processBackendColumnDefs,
426
430
  it as promptVariants,
427
431
  Qi as scopePriority,
428
432
  Yi as serialiseOverrides,
429
- Fa as stepVariants,
430
- va as stepperVariants,
433
+ va as stepVariants,
434
+ Fa as stepperVariants,
431
435
  _a as tagGroupVariants,
432
436
  Wa as tagVariants,
433
- Fn as toast,
437
+ En as toast,
434
438
  sn as useBrowserShortcuts,
435
439
  an as useCommandPalette,
436
- np as useDataGridVirtualRows,
437
- lp as useDataSource,
440
+ sp as useDataGridVirtualRows,
441
+ up as useDataSource,
438
442
  Di as useDataTable,
439
- dp as useDebouncedValue,
443
+ Sp as useDebouncedValue,
440
444
  mn as useGlobalShortcut,
441
- _n as useImpactNovaI18n,
442
- Fr as useNotificationContext,
443
- fp as useRowState,
445
+ qn as useImpactNovaI18n,
446
+ vo as useNotificationContext,
447
+ gp as useRowState,
444
448
  pn as useShortcut,
449
+ Fn as useShortcutOverlay,
445
450
  na as useSidebar,
446
- vn as useToast,
447
- cp as useVirtualizedList,
448
- xp as useVirtualizedRows
451
+ kn as useToast,
452
+ Dp as useVirtualizedList,
453
+ Tp as useVirtualizedRows
449
454
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "impact-nova",
3
- "version": "1.7.6",
3
+ "version": "1.7.7",
4
4
  "description": "Enterprise-grade React design system built with React 19, Vite, Tailwind CSS, and Radix UI. Built-in internationalization (i18n) and comprehensive UI component library for scalable, accessible, and performant applications.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",