impact-nova 1.7.18 → 1.7.20

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,18 +1,18 @@
1
1
  import { jsxs as n, Fragment as H, jsx as t } from "react/jsx-runtime";
2
2
  import * as i from "react";
3
3
  import { ChevronDown as be, Star as P, Search as xe, Bookmark as ve, Pencil as ge, Trash2 as ye } from "lucide-react";
4
- import { cn as N } from "../../../lib/utils.js";
4
+ import { cn as w } from "../../../lib/utils.js";
5
5
  import { Popover as Ne, PopoverTrigger as we, PopoverContent as Te } from "../popover.js";
6
6
  import { Tooltip as J, TooltipTrigger as W, TooltipContent as X } from "../tooltip.js";
7
7
  import { Button as d } from "../button.js";
8
8
  import { Badge as B } from "../badge.js";
9
- import { Input as Ce } from "../input.js";
9
+ import { Input as Ve } from "../input.js";
10
10
  import { Separator as Z } from "../separator.js";
11
11
  import { Skeleton as O } from "../skeleton.js";
12
- import { Prompt as Ve } from "../prompt.js";
12
+ import { Prompt as Ce } from "../prompt.js";
13
13
  import { useImpactNovaI18n as ke } from "../../../i18n/ImpactNovaI18nContext.js";
14
14
  function De(h) {
15
- return h.id === "-1" ? "system" : h.isDefaultView ? "default" : h.isActive ? "active" : "other";
15
+ return h.isSystemView ? "system" : h.isDefaultView ? "default" : h.isActive ? "active" : "other";
16
16
  }
17
17
  const Se = ["default", "active", "system"], Fe = ({
18
18
  isSaveViewEnabled: h = !0,
@@ -22,7 +22,7 @@ const Se = ["default", "active", "system"], Fe = ({
22
22
  menuOpen: E,
23
23
  defaultMenuOpen: te = !1,
24
24
  onMenuOpenChange: j,
25
- onSearch: w,
25
+ onSearch: T,
26
26
  isLoadingViews: I = !1,
27
27
  customListContent: R,
28
28
  disableApply: ae = !1,
@@ -34,64 +34,64 @@ const Se = ["default", "active", "system"], Fe = ({
34
34
  onDeleteView: oe,
35
35
  onSetDefaultView: _
36
36
  }) => {
37
- const { t: a } = ke(), T = E !== void 0, [ce, de] = i.useState(
37
+ const { t: a } = ke(), V = E !== void 0, [ce, de] = i.useState(
38
38
  te
39
- ), m = T ? !!E : ce, u = i.useCallback(
39
+ ), m = V ? !!E : ce, u = i.useCallback(
40
40
  (e) => {
41
- T || de(e), j?.(e);
41
+ V || de(e), j?.(e);
42
42
  },
43
- [T, j]
44
- ), [b, C] = i.useState("All"), [g, V] = i.useState(""), [L, k] = i.useState("");
43
+ [V, j]
44
+ ), [b, C] = i.useState("All"), [g, k] = i.useState(""), [L, D] = i.useState("");
45
45
  i.useEffect(() => {
46
- const e = window.setTimeout(() => k(g), 300);
46
+ const e = window.setTimeout(() => D(g), 300);
47
47
  return () => window.clearTimeout(e);
48
48
  }, [g]), i.useEffect(() => {
49
- w && w(L);
50
- }, [L, w]);
49
+ T && T(L);
50
+ }, [L, T]);
51
51
  const F = i.useMemo(
52
52
  () => s.find((e) => e.isActive),
53
53
  [s]
54
- ), c = F ?? null, Q = q ?? F?.viewName ?? a("dataTable.savedViewsNotApplicable"), [D, S] = i.useState(null), [x, U] = i.useState(null), Y = i.useRef(!1);
54
+ ), o = F ?? null, Q = q ?? F?.viewName ?? a("dataTable.savedViewsNotApplicable"), [y, S] = i.useState(null), [x, U] = i.useState(null), Y = i.useRef(!1);
55
55
  i.useEffect(() => {
56
56
  const e = m && !Y.current;
57
57
  if (Y.current = m, e) {
58
- const l = s.find((o) => o.isActive);
59
- S(l?.id ?? null), C("All"), V(""), k("");
58
+ const l = s.find((c) => c.isActive);
59
+ S(l?.id ?? null), C("All"), k(""), D("");
60
60
  }
61
61
  }, [m, s]);
62
- const v = i.useMemo(() => b === "All" ? s : s.filter((e) => e.viewType === b), [s, b]), p = g.trim().toLowerCase(), y = i.useCallback(
62
+ const v = i.useMemo(() => b === "All" ? s : s.filter((e) => e.viewType === b), [s, b]), p = g.trim().toLowerCase(), N = i.useCallback(
63
63
  (e, l) => l ? (e.viewName ?? "").trim().toLowerCase().includes(l) : !0,
64
64
  []
65
65
  ), M = i.useMemo(() => {
66
66
  let e = v;
67
- return p && (e = e.filter((l) => y(l, p))), e;
68
- }, [v, p, y]), f = i.useMemo(() => {
67
+ return p && (e = e.filter((l) => N(l, p))), e;
68
+ }, [v, p, N]), f = i.useMemo(() => {
69
69
  if (v.length === 0) return [];
70
70
  const e = Object.groupBy(v, De);
71
71
  return Se.flatMap((l) => {
72
- const o = e[l]?.[0];
73
- return o ? p && !y(o, p) ? [] : [o] : [];
72
+ const c = e[l]?.[0];
73
+ return c ? p && !N(c, p) ? [] : [c] : [];
74
74
  });
75
- }, [v, p, y]), z = i.useMemo(() => {
75
+ }, [v, p, N]), z = i.useMemo(() => {
76
76
  const e = new Set(f.map((l) => l.id));
77
77
  return M.filter((l) => !e.has(l.id));
78
- }, [M, f]), $ = D === null ? null : s.find((e) => e.id === D) ?? null, me = () => {
79
- le?.($, { activeView: c }), u(!1);
78
+ }, [M, f]), $ = y === null ? null : s.find((e) => e.id === y) ?? null, me = () => {
79
+ le?.($, { activeView: o }), u(!1);
80
80
  }, ue = () => {
81
- re?.({ activeView: c, pendingView: $ }), u(!1);
81
+ re?.({ activeView: o, pendingView: $ }), u(!1);
82
82
  }, pe = (e) => {
83
- u(e), e || (V(""), k(""));
83
+ u(e), e || (k(""), D(""));
84
84
  };
85
85
  if (!h)
86
86
  return null;
87
- const fe = s.length > 0, K = (e, l, o) => {
88
- const A = D === e.id, G = l === "priority" && !!e.isActive, he = l === "list" && !!e.isActive;
87
+ const fe = s.length > 0, K = (e, l, c) => {
88
+ const A = y === e.id, G = l === "priority" && !!e.isActive, he = l === "list" && !!e.isActive;
89
89
  return /* @__PURE__ */ n(
90
90
  "div",
91
91
  {
92
92
  role: "button",
93
93
  tabIndex: 0,
94
- className: N(
94
+ className: w(
95
95
  "mb-1 flex cursor-pointer items-center justify-between rounded-lg px-3 py-2 text-left text-sm font-medium font-['Manrope'] hover:bg-muted",
96
96
  G && !A && "bg-primary/10 dark:bg-primary/15",
97
97
  A && "bg-badge-info-muted text-badge-info-foreground",
@@ -106,7 +106,7 @@ const Se = ["default", "active", "system"], Fe = ({
106
106
  /* @__PURE__ */ t(W, { asChild: !0, children: /* @__PURE__ */ t(
107
107
  "span",
108
108
  {
109
- className: N(
109
+ className: w(
110
110
  "min-w-0 flex-1 truncate",
111
111
  he && "underline decoration-primary decoration-2 underline-offset-2"
112
112
  ),
@@ -125,7 +125,7 @@ const Se = ["default", "active", "system"], Fe = ({
125
125
  className: "text-foreground hover:text-content-charcoal",
126
126
  "aria-label": a("dataTable.savedViewsEdit"),
127
127
  onClick: (r) => {
128
- r.stopPropagation(), r.preventDefault(), u(!1), se?.(e, { activeView: c });
128
+ r.stopPropagation(), r.preventDefault(), u(!1), se?.(e, { activeView: o });
129
129
  },
130
130
  children: /* @__PURE__ */ t(ge, { className: "size-3.5" })
131
131
  }
@@ -153,7 +153,7 @@ const Se = ["default", "active", "system"], Fe = ({
153
153
  className: "text-yellow-500 hover:text-yellow-600",
154
154
  "aria-label": a("dataTable.savedViewsDefaultAction"),
155
155
  onClick: (r) => {
156
- r.stopPropagation(), r.preventDefault(), _?.(e, { activeView: c });
156
+ r.stopPropagation(), r.preventDefault(), _?.(e, { activeView: o });
157
157
  },
158
158
  children: /* @__PURE__ */ t(P, { className: "size-3.5 fill-current" })
159
159
  }
@@ -166,7 +166,7 @@ const Se = ["default", "active", "system"], Fe = ({
166
166
  className: "text-yellow-500 hover:text-yellow-600",
167
167
  "aria-label": a("dataTable.savedViewsSetDefault"),
168
168
  onClick: (r) => {
169
- r.stopPropagation(), r.preventDefault(), _?.(e, { activeView: c });
169
+ r.stopPropagation(), r.preventDefault(), _?.(e, { activeView: o });
170
170
  },
171
171
  children: /* @__PURE__ */ t(P, { className: "size-3.5" })
172
172
  }
@@ -174,7 +174,7 @@ const Se = ["default", "active", "system"], Fe = ({
174
174
  ] })
175
175
  ]
176
176
  },
177
- o
177
+ c
178
178
  );
179
179
  };
180
180
  return /* @__PURE__ */ n(H, { children: [
@@ -182,7 +182,7 @@ const Se = ["default", "active", "system"], Fe = ({
182
182
  "div",
183
183
  {
184
184
  "data-component": "data-table-saved-views",
185
- className: N(
185
+ className: w(
186
186
  "mb-2 mx-4 rounded-lg bg-[linear-gradient(83.74deg,#F5F9EC_72.68%,#D7E5B2_108.88%)] flex min-w-0 flex-wrap items-center justify-between gap-2 px-2 py-3",
187
187
  ne
188
188
  ),
@@ -215,7 +215,7 @@ const Se = ["default", "active", "system"], Fe = ({
215
215
  /* @__PURE__ */ t(
216
216
  "span",
217
217
  {
218
- className: N(
218
+ className: w(
219
219
  "flex size-6 shrink-0 items-center justify-center rounded-md bg-white transition-transform duration-200",
220
220
  m && "rotate-180"
221
221
  ),
@@ -230,7 +230,7 @@ const Se = ["default", "active", "system"], Fe = ({
230
230
  Te,
231
231
  {
232
232
  align: "start",
233
- className: "z-[110] w-[min(100vw-24px,280px)] p-0 shadow-[0_0_4px_0_rgba(0,0,0,0.12)] overflow-visible",
233
+ className: "z-[50] w-[min(100vw-24px,280px)] p-0 shadow-[0_0_4px_0_rgba(0,0,0,0.12)] overflow-visible",
234
234
  sideOffset: 8,
235
235
  children: /* @__PURE__ */ n("div", { className: "flex flex-col py-2", children: [
236
236
  /* @__PURE__ */ n("div", { className: "flex items-start justify-between gap-2 px-3 pb-2", children: [
@@ -280,12 +280,12 @@ const Se = ["default", "active", "system"], Fe = ({
280
280
  ))
281
281
  ] }),
282
282
  /* @__PURE__ */ t("div", { className: "px-3 pb-2", children: /* @__PURE__ */ t(
283
- Ce,
283
+ Ve,
284
284
  {
285
285
  size: "sm",
286
286
  placeholder: a("dataTable.savedViewsSearchPlaceholder"),
287
287
  value: g,
288
- onChange: (e) => V(e.target.value),
288
+ onChange: (e) => k(e.target.value),
289
289
  prefix: /* @__PURE__ */ t(
290
290
  xe,
291
291
  {
@@ -335,7 +335,7 @@ const Se = ["default", "active", "system"], Fe = ({
335
335
  type: "button",
336
336
  variant: "default",
337
337
  size: "md",
338
- disabled: ae,
338
+ disabled: ae || y === o?.id,
339
339
  onClick: me,
340
340
  children: a("dataTable.savedViewsApply")
341
341
  }
@@ -356,7 +356,7 @@ const Se = ["default", "active", "system"], Fe = ({
356
356
  size: "sm",
357
357
  className: "shrink-0 font-['Manrope']",
358
358
  onClick: () => {
359
- u(!1), ie?.({ activeView: c });
359
+ u(!1), ie?.({ activeView: o });
360
360
  },
361
361
  children: a("dataTable.savedViewsSave")
362
362
  }
@@ -365,7 +365,7 @@ const Se = ["default", "active", "system"], Fe = ({
365
365
  }
366
366
  ),
367
367
  /* @__PURE__ */ t(
368
- Ve,
368
+ Ce,
369
369
  {
370
370
  variant: "destructive",
371
371
  open: x !== null,
@@ -378,7 +378,7 @@ const Se = ["default", "active", "system"], Fe = ({
378
378
  }) : void 0,
379
379
  confirmLabel: a("dataTable.savedViewsDeleteConfirmButton"),
380
380
  onConfirm: () => {
381
- x && oe?.(x, { activeView: c });
381
+ x && oe?.(x, { activeView: o });
382
382
  }
383
383
  }
384
384
  )
@@ -77,7 +77,7 @@ const w = {
77
77
  k: "thou",
78
78
  m: "mil",
79
79
  b: "bil",
80
- precision: "full_no"
80
+ full_precision: "full_precision"
81
81
  }, L = E(function() {
82
82
  const { setSheetTarget: e, scopedSheetOpen: t } = I();
83
83
  return /* @__PURE__ */ i(
@@ -1,91 +1,93 @@
1
- import { jsx as l, jsxs as T, Fragment as j } from "react/jsx-runtime";
2
- import * as u from "react";
1
+ import { jsx as a, jsxs as v, Fragment as j } from "react/jsx-runtime";
2
+ import * as m from "react";
3
3
  import { useToast as z } from "../../hooks/use-toast.js";
4
4
  import { ToastProvider as A, Toast as D, ToastTitle as F, ToastDescription as M, ToastClose as P, ToastViewport as W } from "./toast.js";
5
- import { cn as v } from "../../lib/utils.js";
5
+ import { cn as p } from "../../lib/utils.js";
6
6
  function _({
7
7
  stacked: t = !1,
8
- position: p = "top-right"
8
+ position: d = "top-right"
9
9
  }) {
10
- const { toasts: m } = z(), [d, b] = u.useState(!1), [x, H] = u.useState({}), E = u.useRef({});
11
- u.useEffect(() => {
12
- const e = [], a = setTimeout(() => {
13
- m.forEach((r) => {
14
- const c = E.current[r.id];
10
+ const { toasts: u } = z(), [x, b] = m.useState(!1), [g, H] = m.useState({}), E = m.useRef({});
11
+ m.useEffect(() => {
12
+ const e = [], l = setTimeout(() => {
13
+ u.forEach((i) => {
14
+ const c = E.current[i.id];
15
15
  if (c) {
16
- const i = new ResizeObserver(() => {
16
+ const r = new ResizeObserver(() => {
17
17
  const s = c.offsetHeight;
18
- s > 0 && H((o) => o[r.id] === s ? o : { ...o, [r.id]: s });
18
+ s > 0 && H((o) => o[i.id] === s ? o : { ...o, [i.id]: s });
19
19
  });
20
- i.observe(c), e.push(i);
20
+ r.observe(c), e.push(r);
21
21
  }
22
22
  });
23
23
  }, 32);
24
24
  return () => {
25
- clearTimeout(a), e.forEach((r) => r.disconnect());
25
+ clearTimeout(l), e.forEach((i) => i.disconnect());
26
26
  };
27
- }, [m]);
28
- const n = m.filter((e) => e.open !== !1), g = p.startsWith("bottom"), w = p.endsWith("left"), N = g ? -1 : 1, O = 10, R = 12, y = u.useMemo(() => {
27
+ }, [u]);
28
+ const n = u.filter((e) => e.open !== !1), T = d.startsWith("bottom"), w = d.endsWith("left"), N = T ? -1 : 1, O = 10, R = 12, y = m.useMemo(() => {
29
29
  let e = 0;
30
30
  return n.map((f) => {
31
- const a = e;
32
- return e += (x[f.id] || 70) + R, a;
31
+ const l = e;
32
+ return e += (g[f.id] || 70) + R, l;
33
33
  });
34
- }, [n, x]), I = (y[n.length - 1] || 0) + (x[n[n.length - 1]?.id] || 70);
35
- return /* @__PURE__ */ l(A, { children: /* @__PURE__ */ T(
34
+ }, [n, g]), I = (y[n.length - 1] || 0) + (g[n[n.length - 1]?.id] || 70);
35
+ return /* @__PURE__ */ a(A, { children: /* @__PURE__ */ v(
36
36
  "div",
37
37
  {
38
38
  onMouseEnter: () => t && b(!0),
39
39
  onMouseLeave: () => t && b(!1),
40
- className: v(
40
+ className: p(
41
41
  "fixed z-[60] md:max-w-[420px] w-full sm:w-[420px] pointer-events-none transition-all duration-300",
42
- g ? "bottom-4 sm:bottom-8" : "top-4 sm:top-8",
42
+ T ? "bottom-4 sm:bottom-8" : "top-4 sm:top-8",
43
43
  w ? "left-4 sm:left-8" : "right-4 sm:right-8"
44
44
  ),
45
45
  style: {
46
- height: t && n.length > 0 ? d ? `${I + 100}px` : "140px" : t ? "0px" : "auto",
46
+ height: t && n.length > 0 ? x ? `${I + 100}px` : "140px" : t ? "0px" : "auto",
47
47
  pointerEvents: t && n.length > 0 ? "auto" : "none"
48
48
  },
49
49
  children: [
50
- /* @__PURE__ */ l("div", { className: "relative w-full h-full pointer-events-none", children: m.map(function({ id: e, title: f, description: a, action: r, children: c, ...i }) {
51
- const s = n.findIndex((h) => h.id === e), o = s !== -1, S = o && (!t || d || s < 3), $ = t ? d ? `translateY(${(o ? y[s] : 0) * N}px) scale(1)` : `translateY(${(o ? s : 0) * N * O}px) scale(${1 - (o ? s : 0) * 0.02})` : void 0;
52
- return /* @__PURE__ */ l(
50
+ /* @__PURE__ */ a("div", { className: "relative w-full h-full pointer-events-none", children: u.map(function({ id: e, title: f, description: l, action: i, children: c, ...r }) {
51
+ const s = n.findIndex((h) => h.id === e), o = s !== -1, S = o && (!t || x || s < 3), $ = t ? x ? `translateY(${(o ? y[s] : 0) * N}px) scale(1)` : `translateY(${(o ? s : 0) * N * O}px) scale(${1 - (o ? s : 0) * 0.02})` : void 0;
52
+ return /* @__PURE__ */ a(
53
53
  D,
54
54
  {
55
- ...i,
55
+ ...r,
56
56
  ref: (h) => {
57
57
  h && (E.current[e] = h);
58
58
  },
59
- className: v(
60
- i.className,
59
+ className: p(
60
+ r.className,
61
61
  "transition-all duration-500 ease-in-out",
62
62
  t && "absolute w-full pointer-events-auto",
63
63
  t && (w ? "left-0" : "right-0"),
64
- t && (g ? "bottom-0" : "top-0"),
64
+ t && (T ? "bottom-0" : "top-0"),
65
65
  S ? "opacity-100" : "opacity-0 pointer-events-none"
66
66
  ),
67
67
  style: {
68
68
  zIndex: 100 - (o ? s : 0),
69
69
  transform: $,
70
- ...i.style
70
+ ...r.style
71
71
  },
72
- children: c || /* @__PURE__ */ T(j, { children: [
73
- /* @__PURE__ */ T("div", { className: v("grid gap-1", i.variant?.toString().startsWith("basic") && "flex flex-col items-center justify-center w-full"), children: [
74
- f && /* @__PURE__ */ l(F, { children: f }),
75
- a && /* @__PURE__ */ l(M, { children: a })
72
+ children: c || /* @__PURE__ */ v(j, { children: [
73
+ /* @__PURE__ */ v("div", { className: p("grid gap-1", r.variant?.toString().startsWith("basic") && "flex flex-col items-center justify-center w-full"), children: [
74
+ f && /* @__PURE__ */ a(F, { children: f }),
75
+ l && /* @__PURE__ */ a(M, { children: l })
76
76
  ] }),
77
- r,
78
- /* @__PURE__ */ l(P, {})
77
+ /* @__PURE__ */ v("div", { className: "flex items-center gap-2 shrink-0", children: [
78
+ i,
79
+ /* @__PURE__ */ a(P, { className: "static relative opacity-100 position-static" })
80
+ ] })
79
81
  ] })
80
82
  },
81
83
  e
82
84
  );
83
85
  }) }),
84
- /* @__PURE__ */ l(
86
+ /* @__PURE__ */ a(
85
87
  W,
86
88
  {
87
- position: p,
88
- className: v(
89
+ position: d,
90
+ className: p(
89
91
  "relative w-full h-full p-0 m-0 pointer-events-none",
90
92
  t && "static"
91
93
  )
@@ -8,6 +8,8 @@ export interface SavedTableViewItem {
8
8
  isEditable?: boolean;
9
9
  isDeletable?: boolean;
10
10
  isDefaultView?: boolean;
11
+ /** When true, this view is a system-generated view (shown in priority section, not editable/deletable). */
12
+ isSystemView?: boolean;
11
13
  /** When true, hide the default-view star control (legacy `notReqDefaultView`). */
12
14
  hideDefaultStar?: boolean;
13
15
  }
@@ -116,7 +116,7 @@ export interface DataTableMessages {
116
116
  numericK: string;
117
117
  numericM: string;
118
118
  numericB: string;
119
- numericPrecision: string;
119
+ numericFullPrecision: string;
120
120
  /** Saved table views (toolbar / settings sheet) */
121
121
  savedViewsNotApplicable: string;
122
122
  savedViewsOpenMenu: string;
@@ -100,7 +100,7 @@ const e = {
100
100
  numericK: "In K (Thousands)",
101
101
  numericM: "In M (Millions)",
102
102
  numericB: "In B (Billions)",
103
- numericPrecision: "Full precision (decimals)",
103
+ numericFullPrecision: "Full Precision (Decimal)",
104
104
  savedViewsNotApplicable: "Not applicable",
105
105
  savedViewsOpenMenu: "Open saved views",
106
106
  savedViewsTitle: "Saved views",
@@ -161,13 +161,13 @@ const e = {
161
161
  }, m = {
162
162
  scrollLeft: "Scroll left",
163
163
  scrollRight: "Scroll right"
164
- }, p = {
164
+ }, f = {
165
165
  viewMore: "View More",
166
166
  viewLess: "View Less",
167
167
  logout: "Logout"
168
- }, f = {
169
- stepOfTotal: "Step {{current}} of {{total}}"
170
168
  }, h = {
169
+ stepOfTotal: "Step {{current}} of {{total}}"
170
+ }, p = {
171
171
  title: "Advanced Filter",
172
172
  currentColumn: "Current Column",
173
173
  allFilters: "All Filters",
@@ -222,12 +222,12 @@ const e = {
222
222
  prompt: r,
223
223
  filterStrip: c,
224
224
  filterPanel: d,
225
- advancedFilter: h,
225
+ advancedFilter: p,
226
226
  gridHeader: S,
227
227
  notificationPanel: u,
228
228
  horizontalScroller: m,
229
- sidebar: p,
230
- stepper: f
229
+ sidebar: f,
230
+ stepper: h
231
231
  };
232
232
  export {
233
233
  v as defaultMessages
@@ -106,7 +106,7 @@ const e = {
106
106
  numericK: "In T (Tausender)",
107
107
  numericM: "In M (Millionen)",
108
108
  numericB: "In Mrd (Milliarden)",
109
- numericPrecision: "Volle Präzision (Dezimalstellen)",
109
+ numericFullPrecision: "Volle Präzision (Dezimal)",
110
110
  savedViewsNotApplicable: "Nicht zutreffend",
111
111
  savedViewsOpenMenu: "Gespeicherte Ansichten öffnen",
112
112
  savedViewsTitle: "Gespeicherte Ansichten",
@@ -106,7 +106,7 @@ const e = {
106
106
  numericK: "En K (miles)",
107
107
  numericM: "En M (millones)",
108
108
  numericB: "En B (miles de millones)",
109
- numericPrecision: "Precisión completa (decimales)",
109
+ numericFullPrecision: "Precisión completa (decimal)",
110
110
  savedViewsNotApplicable: "No aplica",
111
111
  savedViewsOpenMenu: "Abrir vistas guardadas",
112
112
  savedViewsTitle: "Vistas guardadas",
@@ -106,7 +106,7 @@ const e = {
106
106
  numericK: "हज़ार में (K)",
107
107
  numericM: "मिलियन में (M)",
108
108
  numericB: "बिलियन में (B)",
109
- numericPrecision: "पूर्ण परिशुद्धता (दशमलव)",
109
+ numericFullPrecision: "पूर्ण परिशुद्धता (दशमलव)",
110
110
  savedViewsNotApplicable: "लागू नहीं",
111
111
  savedViewsOpenMenu: "सहेजे गए व्यू खोलें",
112
112
  savedViewsTitle: "सहेजे गए व्यू",
@@ -106,7 +106,7 @@ const e = {
106
106
  numericK: "ಸಾವಿರದಲ್ಲಿ (K)",
107
107
  numericM: "ಮಿಲಿಯನ್‌ನಲ್ಲಿ (M)",
108
108
  numericB: "ಬಿಲಿಯನ್‌ನಲ್ಲಿ (B)",
109
- numericPrecision: "ಪೂರ್ಣ ನಿಖರತೆ (ದಶಮಾಂಶಗಳು)",
109
+ numericFullPrecision: "ಪೂರ್ಣ ನಿಖರತೆ (ದಶಮಾಂಶ)",
110
110
  savedViewsNotApplicable: "ಅನ್ವಯಿಸುವುದಿಲ್ಲ",
111
111
  savedViewsOpenMenu: "ಉಳಿಸಿದ ವೀಕ್ಷಣೆಗಳನ್ನು ತೆರೆಯಿರಿ",
112
112
  savedViewsTitle: "ಉಳಿಸಿದ ವೀಕ್ಷಣೆಗಳು",