impact-nova 1.5.10 → 1.5.13

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,4 +1,4 @@
1
- import { deserialiseOverrides as h, serialiseOverrides as u, isReservedShortcut as f, keybindingsEqual as m, matchesKeybinding as g, scopePriority as o } from "./utils.js";
1
+ import { deserialiseOverrides as h, serialiseOverrides as f, isReservedShortcut as u, keybindingsEqual as m, scopePriority as a, matchesKeybinding as g } from "./utils.js";
2
2
  const v = 10;
3
3
  class c {
4
4
  static STORAGE_KEY = "impact-nova-shortcuts";
@@ -15,7 +15,7 @@ class c {
15
15
  saveOverrides(e) {
16
16
  if (!(typeof localStorage > "u"))
17
17
  try {
18
- localStorage.setItem(c.STORAGE_KEY, u(e));
18
+ localStorage.setItem(c.STORAGE_KEY, f(e));
19
19
  } catch {
20
20
  }
21
21
  }
@@ -86,10 +86,10 @@ class C {
86
86
  const s = this.commands.get(e);
87
87
  if (!s) return { success: !1 };
88
88
  if (!s.customisable) return { success: !1 };
89
- if (f(t))
89
+ if (u(t))
90
90
  return { success: !1, reserved: !0 };
91
- const n = this.findConflict(e, t, s.scope);
92
- return n ? { success: !1, conflict: n } : (s.keybinding = t, this.overrides.set(e, t), this.saveOverrides(), this.emit({ type: "update-keybinding", commandId: e }), { success: !0 });
91
+ const i = this.findConflict(e, t, s.scope);
92
+ return i ? { success: !1, conflict: i } : (s.keybinding = t, this.overrides.set(e, t), this.saveOverrides(), this.emit({ type: "update-keybinding", commandId: e }), { success: !0 });
93
93
  }
94
94
  resetKeybinding(e) {
95
95
  const t = this.commands.get(e);
@@ -97,12 +97,12 @@ class C {
97
97
  }
98
98
  // ─── Conflict Detection ────────────────────────────────────────────────
99
99
  findConflict(e, t, s) {
100
- for (const [n, r] of this.commands) {
101
- if (n === e || r.scope !== s) continue;
102
- const a = this.getEffectiveKeybinding(n);
103
- if (a && m(a, t))
100
+ for (const [i, r] of this.commands) {
101
+ if (i === e || r.scope !== s) continue;
102
+ const o = this.getEffectiveKeybinding(i);
103
+ if (o && m(o, t))
104
104
  return {
105
- conflictingCommandId: n,
105
+ conflictingCommandId: i,
106
106
  conflictingLabel: r.label,
107
107
  scope: r.scope
108
108
  };
@@ -122,7 +122,13 @@ class C {
122
122
  getHighestActiveScope() {
123
123
  let e = "global";
124
124
  for (const t of this.activeScopes)
125
- o(t) > o(e) && (e = t);
125
+ a(t) > a(e) && (e = t);
126
+ return e;
127
+ }
128
+ getHighestActiveScopePriority() {
129
+ let e = 0;
130
+ for (const t of this.activeScopes)
131
+ e = Math.max(e, a(t));
126
132
  return e;
127
133
  }
128
134
  // ─── Command Queries ───────────────────────────────────────────────────
@@ -140,7 +146,11 @@ class C {
140
146
  */
141
147
  getPaletteCommands() {
142
148
  const t = this.getRegisteredInstances().length > 1;
143
- return this.getAllCommands().filter((s) => !(s.hidden || s.when && !s.when() || !this.activeScopes.has(s.scope) || s.instance && t && this.activeInstance && s.instance !== this.activeInstance));
149
+ return this.getAllCommands().filter((s) => {
150
+ if (s.hidden || s.when && !s.when()) return !1;
151
+ const i = this.getHighestActiveScopePriority();
152
+ return !(a(s.scope) > i || s.instance && t && this.activeInstance && s.instance !== this.activeInstance);
153
+ });
144
154
  }
145
155
  /**
146
156
  * Get commands for the settings panel (all registered, including hidden).
@@ -156,14 +166,14 @@ class C {
156
166
  * @returns true if a command was executed, false otherwise
157
167
  */
158
168
  handleKeyEvent(e) {
159
- const t = this.activeScopes.has("modal"), n = this.getRegisteredInstances().length > 1;
160
- let r = null, a = -1;
161
- for (const i of this.commands.values()) {
162
- if (i.passive) continue;
163
- const d = this.getEffectiveKeybinding(i.id);
164
- if (d && !(t && i.scope !== "modal") && !(i.instance && n && i.instance !== this.activeInstance) && !(i.when && !i.when()) && g(e, d)) {
165
- const l = o(i.scope);
166
- l > a && (r = i, a = l);
169
+ const t = this.activeScopes.has("modal"), i = this.getRegisteredInstances().length > 1;
170
+ let r = null, o = -1;
171
+ for (const n of this.commands.values()) {
172
+ if (n.passive) continue;
173
+ const d = this.getEffectiveKeybinding(n.id);
174
+ if (d && !(t && n.scope !== "modal") && !(n.instance && i && n.instance !== this.activeInstance) && !(n.when && !n.when()) && g(e, d)) {
175
+ const l = a(n.scope);
176
+ l > o && (r = n, o = l);
167
177
  }
168
178
  }
169
179
  return r ? (e.preventDefault(), e.stopPropagation(), r.handler(), this.addRecentCommand(r.id), !0) : !1;
@@ -1,17 +1,18 @@
1
1
  import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
2
  import b from "react";
3
- import { Sheet as v, SheetContent as g, SheetDescription as w, SheetTitle as y, SheetClose as N } from "../sheet.js";
3
+ import { Sheet as g, SheetContent as v, SheetDescription as y, SheetTitle as w, SheetClose as N } from "../sheet.js";
4
4
  import { cn as n } from "../../../lib/utils.js";
5
5
  import { MultiColorFilter as C, Cross as F, Info as m } from "../../../icons/index.js";
6
6
  import { Button as P } from "../button.js";
7
7
  import { Tooltip as d, TooltipTrigger as h, TooltipContent as f } from "../tooltip.js";
8
+ import { Kbd as k } from "../command-palette/kbd.js";
8
9
  import { useImpactNovaI18n as u } from "../../../i18n/ImpactNovaI18nContext.js";
9
10
  const j = ({ title: l, children: a, className: i }) => {
10
11
  const { t: c } = u();
11
12
  return /* @__PURE__ */ t("div", { "data-component": "filter-panel-header", className: n("flex shrink-0 flex-row items-center justify-between border-b px-4 py-3 bg-white", i), children: [
12
13
  /* @__PURE__ */ t("div", { className: "flex items-center gap-3", children: [
13
14
  /* @__PURE__ */ e("div", { className: "flex h-6 w-6 items-center justify-center", children: /* @__PURE__ */ e(C, { className: "h-5 w-5" }) }),
14
- /* @__PURE__ */ e(y, { className: "text-lg font-bold text-[#1f2b4d]", children: l })
15
+ /* @__PURE__ */ e(w, { className: "text-lg font-bold text-[#1f2b4d]", children: l })
15
16
  ] }),
16
17
  /* @__PURE__ */ t("div", { className: "flex items-center gap-2", children: [
17
18
  a,
@@ -27,8 +28,8 @@ const j = ({ title: l, children: a, className: i }) => {
27
28
  sidebar: r,
28
29
  className: o,
29
30
  preventClose: x = !1
30
- }) => /* @__PURE__ */ e(v, { open: l, onOpenChange: a, children: /* @__PURE__ */ t(
31
- g,
31
+ }) => /* @__PURE__ */ e(g, { open: l, onOpenChange: a, children: /* @__PURE__ */ t(
32
+ v,
32
33
  {
33
34
  side: "right",
34
35
  className: n(
@@ -42,7 +43,7 @@ const j = ({ title: l, children: a, className: i }) => {
42
43
  x && p.preventDefault();
43
44
  },
44
45
  children: [
45
- /* @__PURE__ */ e(w, { className: "sr-only", children: "Select filters to apply to the current view." }),
46
+ /* @__PURE__ */ e(y, { className: "sr-only", children: "Select filters to apply to the current view." }),
46
47
  /* @__PURE__ */ t("div", { className: "flex h-full flex-col bg-white", children: [
47
48
  s || /* @__PURE__ */ e(j, { title: i }),
48
49
  /* @__PURE__ */ t("div", { className: "flex flex-1 overflow-hidden", children: [
@@ -83,7 +84,11 @@ const j = ({ title: l, children: a, className: i }) => {
83
84
  /* @__PURE__ */ t("div", { className: "flex items-center gap-1 min-w-0", children: [
84
85
  /* @__PURE__ */ t(d, { children: [
85
86
  /* @__PURE__ */ e(h, { asChild: !0, children: /* @__PURE__ */ e("span", { className: "truncate font-['Manrope']", children: r.label }) }),
86
- /* @__PURE__ */ e(f, { variant: "tertiary", side: "right", children: r.label })
87
+ /* @__PURE__ */ e(f, { variant: "tertiary", side: "right", children: r.tooltipKeybinding ? /* @__PURE__ */ t("span", { className: "flex items-center gap-2", children: [
88
+ r.label,
89
+ " ",
90
+ /* @__PURE__ */ e(k, { keybinding: r.tooltipKeybinding, size: "sm" })
91
+ ] }) : r.label })
87
92
  ] }),
88
93
  r.isRequired && /* @__PURE__ */ e("span", { className: "shrink-0 text-error", children: "*" })
89
94
  ] })
@@ -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, className, }: 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, className, allFiltersKeybinding, }: FilterStripProps) => import("react/jsx-runtime").JSX.Element;
3
3
  export { FilterStrip };
@@ -1,18 +1,18 @@
1
1
  import { jsx as e, jsxs as i } from "react/jsx-runtime";
2
2
  import { ListFilter as u } from "lucide-react";
3
- import { cn as a } from "../../../lib/utils.js";
4
- import { Button as b } from "../button.js";
3
+ import { cn as l } from "../../../lib/utils.js";
4
+ import { Button as S } from "../button.js";
5
5
  import { Skeleton as t } from "../skeleton.js";
6
6
  import { FilterSummary as F } from "./filter-summary.js";
7
- import { FilterTagList as S } from "./filter-tag-list.js";
8
- import { useImpactNovaI18n as y } from "../../../i18n/ImpactNovaI18nContext.js";
7
+ import { FilterTagList as y } from "./filter-tag-list.js";
8
+ import { useImpactNovaI18n as j } from "../../../i18n/ImpactNovaI18nContext.js";
9
9
  const q = ({
10
- filters: l,
10
+ filters: s,
11
11
  onFilterRemove: m,
12
12
  onAllFiltersClick: n,
13
- savedFilters: p,
14
- recentFilters: c,
15
- onApplySavedFilter: o,
13
+ savedFilters: o,
14
+ recentFilters: p,
15
+ onApplySavedFilter: c,
16
16
  onSavedFilterSearch: f,
17
17
  onSavedFiltersScroll: h,
18
18
  onViewAll: d,
@@ -21,21 +21,22 @@ const q = ({
21
21
  onSelectedFilterChange: N,
22
22
  onDropdownOpenChange: g,
23
23
  isLoadingFilterPreferencesList: v,
24
- isLoading: k,
25
- className: r
24
+ isLoading: b,
25
+ className: a,
26
+ allFiltersKeybinding: k
26
27
  }) => {
27
- const { t: s } = y();
28
- return k ? /* @__PURE__ */ e(
28
+ const { t: r } = j();
29
+ return b ? /* @__PURE__ */ e(
29
30
  "div",
30
31
  {
31
32
  "data-component": "filter-strip",
32
33
  "data-loading": "true",
33
- className: a(
34
+ className: l(
34
35
  "flex w-full h-12 items-center gap-3 bg-white px-6 py-2",
35
- r
36
+ a
36
37
  ),
37
38
  children: /* @__PURE__ */ i("div", { className: "flex items-center gap-2 flex-1 min-w-0", "data-component": "filter-strip-loading", children: [
38
- /* @__PURE__ */ e("span", { className: "text-sm font-medium text-[#60697d] font-['Manrope'] shrink-0", children: s("filterStrip.filtersApplied") }),
39
+ /* @__PURE__ */ e("span", { className: "text-sm font-medium text-[#60697d] font-['Manrope'] shrink-0", children: r("filterStrip.filtersApplied") }),
39
40
  /* @__PURE__ */ e(t, { className: "h-6 w-20 shrink-0" }),
40
41
  /* @__PURE__ */ e("div", { className: "h-4 w-[1px] bg-[#e6e8f0] shrink-0" }),
41
42
  /* @__PURE__ */ i("div", { className: "flex items-center gap-2 flex-1 min-w-0", children: [
@@ -54,9 +55,9 @@ const q = ({
54
55
  "div",
55
56
  {
56
57
  "data-component": "filter-strip",
57
- className: a(
58
+ className: l(
58
59
  "flex w-full h-12 items-center gap-3 bg-white px-6 py-2",
59
- r
60
+ a
60
61
  ),
61
62
  children: [
62
63
  /* @__PURE__ */ e(
@@ -64,9 +65,9 @@ const q = ({
64
65
  {
65
66
  selectedFilter: x,
66
67
  onSelectedFilterChange: N,
67
- savedFilters: p,
68
- recentFilters: c,
69
- onApplySavedFilter: o,
68
+ savedFilters: o,
69
+ recentFilters: p,
70
+ onApplySavedFilter: c,
70
71
  onSavedFilterSearch: f,
71
72
  onSavedFiltersScroll: h,
72
73
  onDropdownOpenChange: g,
@@ -75,9 +76,9 @@ const q = ({
75
76
  ),
76
77
  /* @__PURE__ */ e("div", { className: "h-4 w-[1px] bg-[#e6e8f0] mx-1 shrink-0" }),
77
78
  /* @__PURE__ */ e(
78
- S,
79
+ y,
79
80
  {
80
- filters: l,
81
+ filters: s,
81
82
  onFilterRemove: m,
82
83
  onOverflowClick: w,
83
84
  onViewAll: d
@@ -85,14 +86,17 @@ const q = ({
85
86
  ),
86
87
  /* @__PURE__ */ e("div", { className: "h-4 w-[1px] bg-[#e6e8f0] mx-1 shrink-0" }),
87
88
  /* @__PURE__ */ i(
88
- b,
89
+ S,
89
90
  {
90
91
  variant: "tertiary",
91
92
  onClick: n,
92
93
  "data-component": "filter-strip-all-filters",
94
+ "aria-label": r("filterStrip.allFilters"),
95
+ tooltipSide: "bottom",
96
+ tooltipKeybinding: k,
93
97
  children: [
94
98
  /* @__PURE__ */ e(u, { className: "h-4 w-4" }),
95
- s("filterStrip.allFilters")
99
+ r("filterStrip.allFilters")
96
100
  ]
97
101
  }
98
102
  )
@@ -1,19 +1,19 @@
1
- import { jsx as e, jsxs as i } from "react/jsx-runtime";
1
+ import { jsx as e, jsxs as r } from "react/jsx-runtime";
2
2
  import * as n from "react";
3
3
  import * as o from "@radix-ui/react-dialog";
4
4
  import { cva as v } from "class-variance-authority";
5
5
  import { ChevronDown as S, ChevronUp as w, X as C } from "lucide-react";
6
- import { cn as r } from "../../lib/utils.js";
6
+ import { cn as l } from "../../lib/utils.js";
7
7
  import { Tooltip as g, TooltipTrigger as x, TooltipContent as b } from "./tooltip.js";
8
8
  import { useImpactNovaI18n as T } from "../../i18n/ImpactNovaI18nContext.js";
9
9
  const y = n.createContext({
10
10
  isExpanded: !1,
11
11
  expandable: !1,
12
12
  side: "right"
13
- }), X = o.Root, q = o.Trigger, k = o.Close, E = o.Portal, N = n.forwardRef(({ className: t, ...a }, s) => /* @__PURE__ */ e(
13
+ }), U = o.Root, X = o.Trigger, k = o.Close, D = o.Portal, N = n.forwardRef(({ className: t, ...a }, s) => /* @__PURE__ */ e(
14
14
  o.Overlay,
15
15
  {
16
- className: r(
16
+ className: l(
17
17
  "fixed inset-0 z-50 bg-black/40 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
18
18
  t
19
19
  ),
@@ -22,7 +22,7 @@ const y = n.createContext({
22
22
  }
23
23
  ));
24
24
  N.displayName = o.Overlay.displayName;
25
- const R = v(
25
+ const E = v(
26
26
  "fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out",
27
27
  {
28
28
  variants: {
@@ -37,19 +37,20 @@ const R = v(
37
37
  side: "right"
38
38
  }
39
39
  }
40
- ), D = n.forwardRef(({ side: t = "right", className: a, children: s, expandable: d = !1, defaultExpanded: l = !1, ...f }, u) => {
41
- const [h, c] = n.useState(l), m = n.useCallback(() => {
42
- c((p) => !p);
40
+ ), R = n.forwardRef(({ side: t = "right", className: a, children: s, expandable: c = !1, defaultExpanded: d = !1, ...f }, u) => {
41
+ const [h, p] = n.useState(d), m = n.useCallback(() => {
42
+ p((i) => !i);
43
43
  }, []);
44
- return /* @__PURE__ */ e(y.Provider, { value: { isExpanded: h, onExpandToggle: m, expandable: d, side: t || void 0 }, children: /* @__PURE__ */ i(E, { children: [
44
+ return /* @__PURE__ */ e(y.Provider, { value: { isExpanded: h, onExpandToggle: m, expandable: c, side: t || void 0 }, children: /* @__PURE__ */ r(D, { children: [
45
45
  /* @__PURE__ */ e(N, {}),
46
46
  /* @__PURE__ */ e(
47
47
  o.Content,
48
48
  {
49
49
  ref: u,
50
50
  "data-component": "sheet-content",
51
- className: r(
52
- R({ side: t }),
51
+ onOpenAutoFocus: (i) => i.preventDefault(),
52
+ className: l(
53
+ E({ side: t }),
53
54
  "flex flex-col p-0 transition-all duration-300",
54
55
  t === "bottom" && (h ? "h-[96vh]" : "h-[40vh]"),
55
56
  a
@@ -60,17 +61,17 @@ const R = v(
60
61
  )
61
62
  ] }) });
62
63
  });
63
- D.displayName = o.Content.displayName;
64
+ R.displayName = o.Content.displayName;
64
65
  const L = ({
65
66
  className: t,
66
67
  children: a,
67
68
  ...s
68
69
  }) => {
69
- const { t: d } = T(), { isExpanded: l, onExpandToggle: f, expandable: u, side: h } = n.useContext(y), c = d("aria.close"), m = d("nestedList.expand"), p = d("nestedList.collapse");
70
- return /* @__PURE__ */ i(
70
+ const { t: c } = T(), { isExpanded: d, onExpandToggle: f, expandable: u, side: h } = n.useContext(y), p = c("aria.close"), m = c("nestedList.expand"), i = c("nestedList.collapse");
71
+ return /* @__PURE__ */ r(
71
72
  "div",
72
73
  {
73
- className: r(
74
+ className: l(
74
75
  "flex px-4 py-4 shrink-0 items-center justify-between bg-light-blue border-b",
75
76
  h === "bottom" && "rounded-t-lg",
76
77
  t
@@ -78,30 +79,30 @@ const L = ({
78
79
  ...s,
79
80
  children: [
80
81
  /* @__PURE__ */ e("div", { className: "flex flex-col space-y-1 text-center sm:text-left", children: a }),
81
- /* @__PURE__ */ i("div", { className: "flex items-center gap-2", children: [
82
- u && /* @__PURE__ */ i(g, { children: [
83
- /* @__PURE__ */ e(x, { asChild: !0, children: /* @__PURE__ */ i(
82
+ /* @__PURE__ */ r("div", { className: "flex items-center gap-2", children: [
83
+ u && /* @__PURE__ */ r(g, { children: [
84
+ /* @__PURE__ */ e(x, { asChild: !0, children: /* @__PURE__ */ r(
84
85
  "button",
85
86
  {
86
87
  type: "button",
87
88
  "data-component": "sheet-expand-toggle",
88
89
  onClick: f,
89
90
  className: "rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none",
90
- "aria-label": l ? p : m,
91
+ "aria-label": d ? i : m,
91
92
  children: [
92
- l ? /* @__PURE__ */ e(S, { className: "h-4 w-4" }) : /* @__PURE__ */ e(w, { className: "h-4 w-4" }),
93
- /* @__PURE__ */ e("span", { className: "sr-only", children: l ? p : m })
93
+ d ? /* @__PURE__ */ e(S, { className: "h-4 w-4" }) : /* @__PURE__ */ e(w, { className: "h-4 w-4" }),
94
+ /* @__PURE__ */ e("span", { className: "sr-only", children: d ? i : m })
94
95
  ]
95
96
  }
96
97
  ) }),
97
- /* @__PURE__ */ e(b, { variant: "tertiary", side: "top", children: l ? p : m })
98
+ /* @__PURE__ */ e(b, { variant: "tertiary", side: "top", children: d ? i : m })
98
99
  ] }),
99
- /* @__PURE__ */ i(g, { children: [
100
- /* @__PURE__ */ e(x, { asChild: !0, children: /* @__PURE__ */ i(k, { "data-component": "sheet-close", className: "rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none", "aria-label": c, children: [
100
+ /* @__PURE__ */ r(g, { children: [
101
+ /* @__PURE__ */ e(x, { asChild: !0, children: /* @__PURE__ */ r(k, { "data-component": "sheet-close", className: "rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none", "aria-label": p, children: [
101
102
  /* @__PURE__ */ e(C, { className: "h-4 w-4" }),
102
- /* @__PURE__ */ e("span", { className: "sr-only", children: c })
103
+ /* @__PURE__ */ e("span", { className: "sr-only", children: p })
103
104
  ] }) }),
104
- /* @__PURE__ */ e(b, { variant: "tertiary", side: "top", children: c })
105
+ /* @__PURE__ */ e(b, { variant: "tertiary", side: "top", children: p })
105
106
  ] })
106
107
  ] })
107
108
  ]
@@ -115,18 +116,18 @@ const j = ({
115
116
  }) => /* @__PURE__ */ e(
116
117
  "div",
117
118
  {
118
- className: r("flex-1 overflow-y-auto p-4", t),
119
+ className: l("flex-1 overflow-y-auto p-4", t),
119
120
  ...a
120
121
  }
121
122
  );
122
123
  j.displayName = "SheetBody";
123
- const P = ({
124
+ const O = ({
124
125
  className: t,
125
126
  ...a
126
127
  }) => /* @__PURE__ */ e(
127
128
  "div",
128
129
  {
129
- className: r(
130
+ className: l(
130
131
  "mt-auto flex px-4 py-3 shrink-0 items-center justify-end gap-2 border-t bg-background",
131
132
  t
132
133
  ),
@@ -134,36 +135,36 @@ const P = ({
134
135
  children: a.children
135
136
  }
136
137
  );
137
- P.displayName = "SheetFooter";
138
- const I = n.forwardRef(({ className: t, ...a }, s) => /* @__PURE__ */ e(
138
+ O.displayName = "SheetFooter";
139
+ const P = n.forwardRef(({ className: t, ...a }, s) => /* @__PURE__ */ e(
139
140
  o.Title,
140
141
  {
141
142
  ref: s,
142
143
  "data-component": "sheet-title",
143
- className: r("text-sm font-bold leading-none tracking-tight", t),
144
+ className: l("text-sm font-bold leading-none tracking-tight", t),
144
145
  ...a
145
146
  }
146
147
  ));
147
- I.displayName = o.Title.displayName;
148
- const O = n.forwardRef(({ className: t, ...a }, s) => /* @__PURE__ */ e(
148
+ P.displayName = o.Title.displayName;
149
+ const F = n.forwardRef(({ className: t, ...a }, s) => /* @__PURE__ */ e(
149
150
  o.Description,
150
151
  {
151
152
  ref: s,
152
- className: r("text-sm text-muted-foreground", t),
153
+ className: l("text-sm text-muted-foreground", t),
153
154
  ...a
154
155
  }
155
156
  ));
156
- O.displayName = o.Description.displayName;
157
+ F.displayName = o.Description.displayName;
157
158
  export {
158
- X as Sheet,
159
+ U as Sheet,
159
160
  j as SheetBody,
160
161
  k as SheetClose,
161
- D as SheetContent,
162
- O as SheetDescription,
163
- P as SheetFooter,
162
+ R as SheetContent,
163
+ F as SheetDescription,
164
+ O as SheetFooter,
164
165
  L as SheetHeader,
165
166
  N as SheetOverlay,
166
- E as SheetPortal,
167
- I as SheetTitle,
168
- q as SheetTrigger
167
+ D as SheetPortal,
168
+ P as SheetTitle,
169
+ X as SheetTrigger
169
170
  };
@@ -24,6 +24,7 @@ export interface FilterSidebarItem {
24
24
  hasWarning?: boolean;
25
25
  hasInfo?: boolean;
26
26
  separator?: boolean;
27
+ tooltipKeybinding?: import('../command-palette/utils').KeyBinding;
27
28
  }
28
29
  export interface FilterPanelSidebarProps {
29
30
  items: FilterSidebarItem[];
@@ -83,4 +83,8 @@ export interface FilterStripProps {
83
83
  */
84
84
  isLoading?: boolean;
85
85
  className?: string;
86
+ /**
87
+ * Keybinding to show in the "All Filters" button tooltip
88
+ */
89
+ allFiltersKeybinding?: import('./filter-panel.types').FilterSidebarItem["tooltipKeybinding"];
86
90
  }
@@ -0,0 +1,5 @@
1
+ import * as C from "react";
2
+ const t = (e) => /* @__PURE__ */ C.createElement("svg", { width: 14, height: 14, viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ C.createElement("path", { d: "M6.66699 0.0126953C7.58742 0.0127366 8.45237 0.186913 9.26172 0.536133C10.0714 0.885501 10.7752 1.36022 11.374 1.95898C11.9728 2.55775 12.4475 3.26168 12.7969 4.07129C13.1462 4.88077 13.3213 5.7464 13.3213 6.66699C13.3212 7.58746 13.1461 8.45234 12.7969 9.26172C12.4475 10.0714 11.9729 10.7752 11.374 11.374C10.7752 11.9729 10.0714 12.4475 9.26172 12.7969C8.45234 13.1461 7.58746 13.3212 6.66699 13.3213C5.7464 13.3213 4.88077 13.1462 4.07129 12.7969C3.26168 12.4475 2.55775 11.9728 1.95898 11.374C1.36022 10.7752 0.885501 10.0714 0.536133 9.26172C0.186913 8.45237 0.0127366 7.58742 0.0126953 6.66699C0.0126953 5.7464 0.186837 4.88077 0.536133 4.07129C0.885527 3.26163 1.36018 2.55778 1.95898 1.95898C2.55778 1.36018 3.26163 0.885527 4.07129 0.536133C4.88077 0.186837 5.7464 0.0126953 6.66699 0.0126953ZM6.66699 1.32129C5.17486 1.32129 3.90975 1.8383 2.87402 2.87402C1.8383 3.90975 1.32129 5.17486 1.32129 6.66699C1.32136 8.15891 1.83848 9.42336 2.87402 10.459C3.90975 11.4947 5.17486 12.0127 6.66699 12.0127C8.15898 12.0126 9.42333 11.4946 10.459 10.459C11.4946 9.42333 12.0126 8.15898 12.0127 6.66699C12.0127 5.17486 11.4947 3.90975 10.459 2.87402C9.42336 1.83848 8.15891 1.32136 6.66699 1.32129ZM9.06641 3.62891C9.25224 3.62891 9.40479 3.68905 9.52441 3.80859C9.64405 3.92823 9.70409 4.08072 9.7041 4.2666C9.7041 4.45251 9.64406 4.60496 9.52441 4.72461L7.58203 6.66699L7.59082 6.67578L9.52441 8.6084C9.64401 8.72799 9.70405 8.88061 9.7041 9.06641C9.7041 9.25232 9.64406 9.40477 9.52441 9.52441C9.40477 9.64406 9.25232 9.7041 9.06641 9.7041C8.88061 9.70405 8.72799 9.64401 8.6084 9.52441L6.67578 7.59082L6.66699 7.58203L4.72461 9.52441C4.60496 9.64406 4.45251 9.7041 4.2666 9.7041C4.08072 9.70409 3.92823 9.64405 3.80859 9.52441C3.68905 9.40479 3.62891 9.25224 3.62891 9.06641C3.62896 8.88061 3.689 8.72799 3.80859 8.6084L5.74219 6.67578L5.75098 6.66699L3.80859 4.72461C3.68899 4.60497 3.62891 4.45248 3.62891 4.2666C3.62892 4.08072 3.68896 3.92823 3.80859 3.80859C3.92823 3.68896 4.08072 3.62892 4.2666 3.62891C4.45248 3.62891 4.60497 3.68899 4.72461 3.80859L6.66699 5.75098L6.67578 5.74219L8.6084 3.80859C8.72799 3.689 8.88061 3.62896 9.06641 3.62891Z", fill: "currentColor", stroke: "#60697D", strokeWidth: 0.025 }));
3
+ export {
4
+ t as default
5
+ };
@@ -0,0 +1,5 @@
1
+ import * as C from "react";
2
+ const t = (e) => /* @__PURE__ */ C.createElement("svg", { width: 14, height: 14, viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ C.createElement("path", { d: "M5.73333 7.86667L4.3 6.43333C4.17778 6.31111 4.02222 6.25 3.83333 6.25C3.64444 6.25 3.48889 6.31111 3.36667 6.43333C3.24444 6.55556 3.18333 6.71111 3.18333 6.9C3.18333 7.08889 3.24444 7.24444 3.36667 7.36667L5.26667 9.26667C5.4 9.4 5.55556 9.46667 5.73333 9.46667C5.91111 9.46667 6.06667 9.4 6.2 9.26667L9.96667 5.5C10.0889 5.37778 10.15 5.22222 10.15 5.03333C10.15 4.84444 10.0889 4.68889 9.96667 4.56667C9.84444 4.44444 9.68889 4.38333 9.5 4.38333C9.31111 4.38333 9.15555 4.44444 9.03333 4.56667L5.73333 7.86667ZM6.66667 13.3333C5.74444 13.3333 4.87778 13.1583 4.06667 12.8083C3.25556 12.4583 2.55 11.9833 1.95 11.3833C1.35 10.7833 0.875 10.0778 0.525 9.26667C0.175 8.45555 0 7.58889 0 6.66667C0 5.74444 0.175 4.87778 0.525 4.06667C0.875 3.25556 1.35 2.55 1.95 1.95C2.55 1.35 3.25556 0.875 4.06667 0.525C4.87778 0.175 5.74444 0 6.66667 0C7.58889 0 8.45555 0.175 9.26667 0.525C10.0778 0.875 10.7833 1.35 11.3833 1.95C11.9833 2.55 12.4583 3.25556 12.8083 4.06667C13.1583 4.87778 13.3333 5.74444 13.3333 6.66667C13.3333 7.58889 13.1583 8.45555 12.8083 9.26667C12.4583 10.0778 11.9833 10.7833 11.3833 11.3833C10.7833 11.9833 10.0778 12.4583 9.26667 12.8083C8.45555 13.1583 7.58889 13.3333 6.66667 13.3333ZM6.66667 12C8.15555 12 9.41667 11.4833 10.45 10.45C11.4833 9.41667 12 8.15555 12 6.66667C12 5.17778 11.4833 3.91667 10.45 2.88333C9.41667 1.85 8.15555 1.33333 6.66667 1.33333C5.17778 1.33333 3.91667 1.85 2.88333 2.88333C1.85 3.91667 1.33333 5.17778 1.33333 6.66667C1.33333 8.15555 1.85 9.41667 2.88333 10.45C3.91667 11.4833 5.17778 12 6.66667 12Z", fill: "currentColor" }));
3
+ export {
4
+ t as default
5
+ };
@@ -50,6 +50,8 @@ export declare const Plus: IconComponent;
50
50
  export declare const Bookmark: IconComponent;
51
51
  export declare const BookmarkFilled: IconComponent;
52
52
  export declare const Download: IconComponent;
53
+ export declare const CircleTick: IconComponent;
54
+ export declare const CircleCross: IconComponent;
53
55
  export declare const Info: IconComponent;
54
56
  export declare const Blocks: IconComponent;
55
57
  export declare const Document: IconComponent;