impact-nova 1.5.14 → 1.6.0

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.
Files changed (149) hide show
  1. package/dist/components/ui/accordion.d.ts +4 -1
  2. package/dist/components/ui/accordion.js +28 -22
  3. package/dist/components/ui/ag-grid-react/cell-renderers/badge-cell-renderer.js +11 -11
  4. package/dist/components/ui/ag-grid-react/cell-renderers/checkbox-display-renderer.js +12 -12
  5. package/dist/components/ui/ag-grid-react/cell-renderers/date-display-renderer.js +13 -13
  6. package/dist/components/ui/ag-grid-react/cell-renderers/editors/date-cell-editor.js +13 -13
  7. package/dist/components/ui/ag-grid-react/cell-renderers/editors/input-cell-editor.js +30 -30
  8. package/dist/components/ui/ag-grid-react/cell-renderers/editors/percent-progress-cell-editor.js +13 -13
  9. package/dist/components/ui/ag-grid-react/cell-renderers/editors/split-cell-editor.js +16 -16
  10. package/dist/components/ui/ag-grid-react/cell-renderers/editors/textarea-cell-editor.js +17 -17
  11. package/dist/components/ui/ag-grid-react/cell-renderers/input-display-renderer.js +11 -11
  12. package/dist/components/ui/ag-grid-react/cell-renderers/link-with-batch-cell-renderer.js +2 -2
  13. package/dist/components/ui/ag-grid-react/cell-renderers/percent-progress-display-renderer.js +11 -13
  14. package/dist/components/ui/ag-grid-react/cell-renderers/select-display-renderer.js +8 -8
  15. package/dist/components/ui/ag-grid-react/cell-renderers/split-cell-renderer.js +6 -6
  16. package/dist/components/ui/ag-grid-react/cell-renderers/status-badge-renderer.d.ts +1 -1
  17. package/dist/components/ui/ag-grid-react/cell-renderers/status-badge-renderer.js +14 -14
  18. package/dist/components/ui/ag-grid-react/cell-renderers/switch-display-renderer.js +18 -18
  19. package/dist/components/ui/ag-grid-react/cell-renderers/textarea-display-renderer.js +6 -6
  20. package/dist/components/ui/ag-grid-react/headers/advanced-filter/advanced-filter-dialog.js +14 -14
  21. package/dist/components/ui/ag-grid-react/headers/advanced-filter/column-filter-section.js +35 -35
  22. package/dist/components/ui/ag-grid-react/headers/column-menu/column-settings-menu.js +49 -49
  23. package/dist/components/ui/ag-grid-react/headers/components/header-info.js +29 -29
  24. package/dist/components/ui/ag-grid-react/headers/components/info-modal.js +9 -9
  25. package/dist/components/ui/ag-grid-react/headers/components/section-renderers.js +20 -20
  26. package/dist/components/ui/ag-grid-react/headers/custom-header-group.js +10 -10
  27. package/dist/components/ui/ag-grid-react/headers/custom-header.js +76 -76
  28. package/dist/components/ui/ag-grid-react/headers/header-search-input.js +118 -118
  29. package/dist/components/ui/ag-grid-react/index.js +121 -102
  30. package/dist/components/ui/alert-dialog.js +6 -6
  31. package/dist/components/ui/alert.d.ts +4 -3
  32. package/dist/components/ui/alert.js +182 -64
  33. package/dist/components/ui/avatar.js +5 -5
  34. package/dist/components/ui/badge.d.ts +7 -2
  35. package/dist/components/ui/badge.js +105 -32
  36. package/dist/components/ui/breadcrumb.js +26 -21
  37. package/dist/components/ui/button-group.d.ts +7 -0
  38. package/dist/components/ui/button-group.js +116 -91
  39. package/dist/components/ui/button-variants.d.ts +7 -2
  40. package/dist/components/ui/button-variants.js +31 -16
  41. package/dist/components/ui/button.d.ts +2 -2
  42. package/dist/components/ui/button.js +10 -10
  43. package/dist/components/ui/calendar.js +185 -184
  44. package/dist/components/ui/card.js +24 -24
  45. package/dist/components/ui/chart/chart.js +27 -27
  46. package/dist/components/ui/chart/chart.utils.js +50 -50
  47. package/dist/components/ui/checkbox.js +22 -22
  48. package/dist/components/ui/chips.d.ts +19 -3
  49. package/dist/components/ui/chips.js +140 -41
  50. package/dist/components/ui/command-palette/command-palette-layout.d.ts +28 -0
  51. package/dist/components/ui/command-palette/command-palette-layout.js +59 -0
  52. package/dist/components/ui/command-palette/command-palette.js +254 -264
  53. package/dist/components/ui/command-palette/index.d.ts +1 -1
  54. package/dist/components/ui/command-palette/index.js +42 -41
  55. package/dist/components/ui/command-palette/kbd.js +18 -18
  56. package/dist/components/ui/command-palette/shortcut-settings.d.ts +3 -3
  57. package/dist/components/ui/command-palette/shortcut-settings.js +105 -111
  58. package/dist/components/ui/command-palette/utils.d.ts +6 -1
  59. package/dist/components/ui/command-palette/utils.js +81 -74
  60. package/dist/components/ui/data-table/data-table-column-list.js +31 -31
  61. package/dist/components/ui/data-table/data-table-constants.d.ts +6 -0
  62. package/dist/components/ui/data-table/data-table-constants.js +4 -0
  63. package/dist/components/ui/data-table/data-table-context.d.ts +4 -0
  64. package/dist/components/ui/data-table/data-table-format-options.js +35 -35
  65. package/dist/components/ui/data-table/data-table-sheet.d.ts +4 -4
  66. package/dist/components/ui/data-table/data-table-sheet.js +91 -58
  67. package/dist/components/ui/data-table/data-table-view-options.js +29 -29
  68. package/dist/components/ui/data-table/data-table.js +84 -52
  69. package/dist/components/ui/data-table/index.d.ts +1 -0
  70. package/dist/components/ui/data-table/index.js +15 -13
  71. package/dist/components/ui/date-picker/date-picker.js +35 -35
  72. package/dist/components/ui/date-picker/date-range-picker.js +166 -164
  73. package/dist/components/ui/date-picker/month-picker.js +14 -14
  74. package/dist/components/ui/date-picker/month-range-picker.js +198 -189
  75. package/dist/components/ui/date-picker/multi-date-picker.js +14 -14
  76. package/dist/components/ui/date-picker/multi-month-picker.js +1 -1
  77. package/dist/components/ui/date-picker/multi-week-picker.js +1 -1
  78. package/dist/components/ui/date-picker/week-picker.js +2 -2
  79. package/dist/components/ui/date-picker/week-range-picker.js +164 -162
  80. package/dist/components/ui/dialog.js +25 -28
  81. package/dist/components/ui/drawer.js +40 -40
  82. package/dist/components/ui/dropdown-menu.js +72 -72
  83. package/dist/components/ui/empty-container.js +73 -69
  84. package/dist/components/ui/file-upload.js +137 -135
  85. package/dist/components/ui/filter-panel/filter-panel.d.ts +2 -2
  86. package/dist/components/ui/filter-panel/filter-panel.js +175 -97
  87. package/dist/components/ui/filter-strip/filter-strip.d.ts +1 -1
  88. package/dist/components/ui/filter-strip/filter-strip.js +63 -50
  89. package/dist/components/ui/filter-strip/filter-summary.d.ts +4 -1
  90. package/dist/components/ui/filter-strip/filter-summary.js +230 -146
  91. package/dist/components/ui/filter-strip/filter-tag-list.js +125 -91
  92. package/dist/components/ui/header.d.ts +7 -3
  93. package/dist/components/ui/header.js +87 -79
  94. package/dist/components/ui/horizontal-scroller/horizontal-scroller.js +44 -44
  95. package/dist/components/ui/hover-card.js +10 -10
  96. package/dist/components/ui/input.js +79 -70
  97. package/dist/components/ui/loader.js +16 -16
  98. package/dist/components/ui/nested-list/components/NestedListCategoryFilters.js +16 -16
  99. package/dist/components/ui/nested-list/components/NestedListHeader.js +27 -27
  100. package/dist/components/ui/nested-list/components/SortableItem.js +58 -58
  101. package/dist/components/ui/notification-panel/notification-item.js +32 -32
  102. package/dist/components/ui/notification-panel/notification-list.js +24 -24
  103. package/dist/components/ui/notification-panel/notification-panel.js +26 -26
  104. package/dist/components/ui/popover.js +22 -22
  105. package/dist/components/ui/progress.js +34 -34
  106. package/dist/components/ui/prompt.js +48 -48
  107. package/dist/components/ui/radio-group.js +63 -54
  108. package/dist/components/ui/select/components/LabelWithSequence.js +6 -6
  109. package/dist/components/ui/select/components/Submenu.js +33 -33
  110. package/dist/components/ui/select/select.js +425 -376
  111. package/dist/components/ui/sheet.js +88 -66
  112. package/dist/components/ui/sidebar.js +342 -296
  113. package/dist/components/ui/skeleton.js +6 -6
  114. package/dist/components/ui/slider.js +17 -17
  115. package/dist/components/ui/statistics-card.d.ts +86 -0
  116. package/dist/components/ui/statistics-card.hooks.d.ts +150 -0
  117. package/dist/components/ui/statistics-card.hooks.js +100 -0
  118. package/dist/components/ui/statistics-card.js +259 -0
  119. package/dist/components/ui/stepper.js +51 -51
  120. package/dist/components/ui/switch.js +7 -7
  121. package/dist/components/ui/tabs.js +70 -70
  122. package/dist/components/ui/tag-group.d.ts +1 -0
  123. package/dist/components/ui/tag-group.js +14 -13
  124. package/dist/components/ui/tag.js +43 -43
  125. package/dist/components/ui/textarea.js +86 -58
  126. package/dist/components/ui/toast.js +39 -39
  127. package/dist/components/ui/tooltip.js +23 -23
  128. package/dist/components/ui/types/date-picker.types.d.ts +1 -0
  129. package/dist/components/ui/types/filter-panel.types.d.ts +3 -0
  130. package/dist/components/ui/types/filter-strip.types.d.ts +14 -0
  131. package/dist/components/ui/types/horizontal-scroller.types.d.ts +1 -1
  132. package/dist/components/ui/types/statistics-card.types.d.ts +1 -0
  133. package/dist/i18n/defaultMessages.d.ts +8 -0
  134. package/dist/i18n/defaultMessages.js +15 -9
  135. package/dist/i18n/locales/de.js +7 -1
  136. package/dist/i18n/locales/es.js +7 -1
  137. package/dist/i18n/locales/hi.js +7 -1
  138. package/dist/i18n/locales/kn.js +7 -1
  139. package/dist/icons/assets/bulk-edit.svg.js +5 -0
  140. package/dist/icons/assets/clock.svg.js +5 -0
  141. package/dist/icons/assets/statistics.svg.js +5 -0
  142. package/dist/icons/index.d.ts +3 -0
  143. package/dist/icons/index.js +254 -206
  144. package/dist/impact-nova.css +1 -1
  145. package/dist/index.d.ts +1 -0
  146. package/dist/index.js +361 -347
  147. package/package.json +3 -2
  148. package/tailwind.config.js +259 -152
  149. /package/dist/icons/assets/{PivotMode.svg.js → pivotMode.svg.js} +0 -0
@@ -1,9 +1,9 @@
1
- import { jsxs as d, jsx as s } from "react/jsx-runtime";
1
+ import { jsxs as t, jsx as s } from "react/jsx-runtime";
2
2
  import * as c from "react";
3
3
  import { cva as p } from "class-variance-authority";
4
- import { cn as i } from "../../lib/utils.js";
4
+ import { cn as n } from "../../lib/utils.js";
5
5
  const v = p(
6
- "flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-[#dfe2e7] focus-visible:outline-none focus-visible:border-primary hover:border-primary disabled:cursor-not-allowed disabled:bg-disabled-secondary-bg disabled:text-disabled-text disabled:border-border md:text-sm",
6
+ "flex min-h-20 w-full rounded-md border border-field bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-content-empty focus-visible:outline-none focus-visible:border-brand hover:border-brand disabled:cursor-not-allowed disabled:bg-disabled-surface disabled:text-disabled-foreground disabled:border-stroke md:text-sm",
7
7
  {
8
8
  variants: {
9
9
  isError: {
@@ -11,7 +11,7 @@ const v = p(
11
11
  false: ""
12
12
  },
13
13
  disabled: {
14
- true: "cursor-not-allowed opacity-100 bg-disabled-secondary-bg border-border text-disabled-text hover:border-border",
14
+ true: "cursor-not-allowed opacity-100 bg-disabled-surface border-stroke text-disabled-foreground hover:border-stroke",
15
15
  false: ""
16
16
  }
17
17
  },
@@ -19,68 +19,96 @@ const v = p(
19
19
  isError: !1
20
20
  }
21
21
  }
22
- ), y = c.forwardRef(
23
- ({ className: u, label: x, helperText: n, characterLimit: o, isError: t, disabled: a, value: r, onChange: m, ...e }, f) => {
24
- const [g, l] = c.useState(0);
22
+ ), N = c.forwardRef(
23
+ ({
24
+ className: f,
25
+ label: x,
26
+ helperText: l,
27
+ characterLimit: i,
28
+ isError: a,
29
+ disabled: r,
30
+ value: d,
31
+ onChange: m,
32
+ ...e
33
+ }, b) => {
34
+ const [g, o] = c.useState(0);
25
35
  c.useEffect(() => {
26
- r ? l(String(r).length) : e.defaultValue && l(String(e.defaultValue).length);
27
- }, [r, e.defaultValue]);
28
- const h = (b) => {
29
- l(b.target.value.length), m?.(b);
36
+ d ? o(String(d).length) : e.defaultValue && o(String(e.defaultValue).length);
37
+ }, [d, e.defaultValue]);
38
+ const h = (u) => {
39
+ o(u.target.value.length), m?.(u);
30
40
  };
31
- return /* @__PURE__ */ d("div", { className: "w-full space-y-1.5 min-w-[240px]", children: [
32
- x && /* @__PURE__ */ d(
33
- "label",
34
- {
35
- className: i(
36
- "text-xs font-medium leading-[18px] text-[#60697d]",
37
- a && "opacity-70",
38
- t && "text-destructive"
39
- ),
40
- children: [
41
- x,
42
- " ",
43
- e.required && /* @__PURE__ */ s("span", { className: "text-destructive", children: "*" })
44
- ]
45
- }
46
- ),
47
- /* @__PURE__ */ s(
48
- "textarea",
49
- {
50
- className: i(
51
- v({ isError: t, disabled: a, className: u }),
52
- "bg-background",
53
- a && "bg-disabled-secondary-bg"
54
- ),
55
- ref: f,
56
- disabled: !!a,
57
- value: r,
58
- onChange: h,
59
- "data-component": "textarea",
60
- ...e
61
- }
62
- ),
63
- (n || o) && /* @__PURE__ */ d("div", { className: "flex items-start justify-between gap-2", children: [
64
- /* @__PURE__ */ s("div", { className: i("flex items-center gap-1", t && "text-destructive"), children: n && /* @__PURE__ */ s(
65
- "p",
41
+ return /* @__PURE__ */ t("div", { className: "flex w-full min-w-[240px] flex-col gap-[6px]", children: [
42
+ /* @__PURE__ */ t("div", { className: "flex flex-col gap-[6px]", children: [
43
+ x && /* @__PURE__ */ t(
44
+ "label",
66
45
  {
67
- className: i(
68
- "text-[10px] text-[#7a8294]",
69
- t && "text-destructive"
46
+ className: n(
47
+ "text-xs font-medium leading-[18px] text-content-tertiary",
48
+ r && "opacity-70",
49
+ a && "text-destructive"
70
50
  ),
71
- children: n
51
+ children: [
52
+ x,
53
+ " ",
54
+ e.required && /* @__PURE__ */ s("span", { className: "text-destructive", children: "*" })
55
+ ]
72
56
  }
73
- ) }),
74
- o && /* @__PURE__ */ d("div", { className: "text-[10px] text-[#7a8294] text-right", "data-component": "character-count-indicator", children: [
75
- g,
76
- "/",
77
- o
78
- ] })
57
+ ),
58
+ /* @__PURE__ */ s(
59
+ "textarea",
60
+ {
61
+ className: n(
62
+ v({ isError: a, disabled: r, className: f }),
63
+ "bg-canvas",
64
+ r && "bg-disabled-surface"
65
+ ),
66
+ ref: b,
67
+ disabled: !!r,
68
+ value: d,
69
+ onChange: h,
70
+ "data-component": "textarea",
71
+ ...e
72
+ }
73
+ )
74
+ ] }),
75
+ (l || i) && /* @__PURE__ */ t("div", { className: "flex items-start justify-between gap-[6px]", children: [
76
+ /* @__PURE__ */ s(
77
+ "div",
78
+ {
79
+ className: n(
80
+ "flex items-center gap-[6px]",
81
+ a && "text-destructive"
82
+ ),
83
+ children: l && /* @__PURE__ */ s(
84
+ "p",
85
+ {
86
+ className: n(
87
+ "text-[10px] leading-4 text-navigation-muted",
88
+ a && "text-destructive"
89
+ ),
90
+ children: l
91
+ }
92
+ )
93
+ }
94
+ ),
95
+ i && /* @__PURE__ */ t(
96
+ "div",
97
+ {
98
+ className: "text-[10px] leading-4 text-navigation-muted text-right",
99
+ "data-component": "character-count-indicator",
100
+ children: [
101
+ g,
102
+ "/",
103
+ i
104
+ ]
105
+ }
106
+ )
79
107
  ] })
80
108
  ] });
81
109
  }
82
110
  );
83
- y.displayName = "Textarea";
111
+ N.displayName = "Textarea";
84
112
  export {
85
- y as Textarea
113
+ N as Textarea
86
114
  };
@@ -1,16 +1,16 @@
1
- import { jsx as a, jsxs as p } from "react/jsx-runtime";
1
+ import { jsx as a, jsxs as c } from "react/jsx-runtime";
2
2
  import * as s from "react";
3
3
  import * as o from "@radix-ui/react-toast";
4
- import { cva as c } from "class-variance-authority";
5
- import { X as f } from "lucide-react";
6
- import { cn as i } from "../../lib/utils.js";
7
- import { Tooltip as l, TooltipTrigger as u, TooltipContent as m } from "./tooltip.js";
8
- import { useImpactNovaI18n as x } from "../../i18n/ImpactNovaI18nContext.js";
9
- const A = o.Provider, b = s.forwardRef(({ className: t, position: e = "top-right", ...r }, n) => /* @__PURE__ */ a(
4
+ import { cva as f } from "class-variance-authority";
5
+ import { X as l } from "lucide-react";
6
+ import { cn as n } from "../../lib/utils.js";
7
+ import { Tooltip as p, TooltipTrigger as u, TooltipContent as m } from "./tooltip.js";
8
+ import { useImpactNovaI18n as b } from "../../i18n/ImpactNovaI18nContext.js";
9
+ const D = o.Provider, v = s.forwardRef(({ className: t, position: e = "top-right", ...r }, i) => /* @__PURE__ */ a(
10
10
  o.Viewport,
11
11
  {
12
- ref: n,
13
- className: i(
12
+ ref: i,
13
+ className: n(
14
14
  "z-[60] flex max-h-screen w-full p-4 md:max-w-[420px] gap-2",
15
15
  !t?.includes("static") && !t?.includes("absolute") && "fixed",
16
16
  e.startsWith("top") ? "top-0 sm:top-8 flex-col" : "bottom-0 sm:bottom-8 flex-col-reverse",
@@ -20,66 +20,66 @@ const A = o.Provider, b = s.forwardRef(({ className: t, position: e = "top-right
20
20
  ...r
21
21
  }
22
22
  ));
23
- b.displayName = o.Viewport.displayName;
24
- const g = c(
23
+ v.displayName = o.Viewport.displayName;
24
+ const g = f(
25
25
  "group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",
26
26
  {
27
27
  variants: {
28
28
  variant: {
29
- default: "border bg-background text-foreground",
29
+ default: "border bg-canvas text-content",
30
30
  destructive: "destructive group border-destructive bg-destructive text-destructive-foreground",
31
31
  unstyled: "border-none bg-transparent p-0 shadow-none",
32
- basic: "basic min-h-[51px] border-none shadow-[0px_10px_30px_0px_rgba(0,0,0,0.15)] rounded-[4px] px-6 py-2 relative overflow-hidden justify-center text-white after:absolute after:bottom-0 after:left-0 after:right-0 after:h-[4px] after:content-['']",
33
- "basic-success": "basic min-h-[51px] border-none shadow-[0px_10px_30px_0px_rgba(0,0,0,0.15)] rounded-[4px] px-6 py-2 relative overflow-hidden justify-center text-white bg-[#3bb273] after:absolute after:bottom-0 after:left-0 after:right-0 after:h-[4px] after:content-[''] after:bg-[#89d1ab]",
34
- "basic-info": "basic min-h-[51px] border-none shadow-[0px_10px_30px_0px_rgba(0,0,0,0.15)] rounded-[4px] px-6 py-2 relative overflow-hidden justify-center text-white bg-[#4259ee] after:absolute after:bottom-0 after:left-0 after:right-0 after:h-[4px] after:content-[''] after:bg-[#687af1]",
35
- "basic-warning": "basic min-h-[51px] border-none shadow-[0px_10px_30px_0px_rgba(0,0,0,0.15)] rounded-[4px] px-6 py-2 relative overflow-hidden justify-center text-[#0d152c] bg-[#e1bc29] after:absolute after:bottom-0 after:left-0 after:right-0 after:h-[4px] after:content-[''] after:bg-[#edd77f]",
36
- "basic-error": "basic min-h-[51px] border-none shadow-[0px_10px_30px_0px_rgba(0,0,0,0.15)] rounded-[4px] px-6 py-2 relative overflow-hidden justify-center text-white bg-[#ec4c5c] after:absolute after:bottom-0 after:left-0 after:right-0 after:h-[4px] after:content-[''] after:bg-[#ed9998]"
32
+ basic: "basic min-h-[51px] border-none shadow-elevation-toast rounded-[4px] px-6 py-2 relative overflow-hidden justify-center text-brand-foreground after:absolute after:bottom-0 after:left-0 after:right-0 after:h-[4px] after:content-['']",
33
+ "basic-success": "basic min-h-[51px] border-none shadow-elevation-toast rounded-[4px] px-6 py-2 relative overflow-hidden justify-center text-brand-foreground bg-success after:absolute after:bottom-0 after:left-0 after:right-0 after:h-[4px] after:content-[''] after:bg-brand-foreground/15",
34
+ "basic-info": "basic min-h-[51px] border-none shadow-elevation-toast rounded-[4px] px-6 py-2 relative overflow-hidden justify-center text-brand-foreground bg-brand after:absolute after:bottom-0 after:left-0 after:right-0 after:h-[4px] after:content-[''] after:bg-brand-foreground/15",
35
+ "basic-warning": "basic min-h-[51px] border-none shadow-elevation-toast rounded-[4px] px-6 py-2 relative overflow-hidden justify-center text-content bg-warning after:absolute after:bottom-0 after:left-0 after:right-0 after:h-[4px] after:content-[''] after:bg-brand-foreground/15",
36
+ "basic-error": "basic min-h-[51px] border-none shadow-elevation-toast rounded-[4px] px-6 py-2 relative overflow-hidden justify-center text-brand-foreground bg-destructive after:absolute after:bottom-0 after:left-0 after:right-0 after:h-[4px] after:content-[''] after:bg-brand-foreground/15"
37
37
  }
38
38
  },
39
39
  defaultVariants: {
40
40
  variant: "default"
41
41
  }
42
42
  }
43
- ), h = s.forwardRef(({ className: t, variant: e, ...r }, n) => /* @__PURE__ */ a(
43
+ ), x = s.forwardRef(({ className: t, variant: e, ...r }, i) => /* @__PURE__ */ a(
44
44
  o.Root,
45
45
  {
46
- ref: n,
46
+ ref: i,
47
47
  "data-component": "toast",
48
48
  "data-variant": e ?? "default",
49
- className: i(g({ variant: e }), t),
49
+ className: n(g({ variant: e }), t),
50
50
  ...r
51
51
  }
52
52
  ));
53
- h.displayName = o.Root.displayName;
54
- const v = s.forwardRef(({ className: t, ...e }, r) => /* @__PURE__ */ a(
53
+ x.displayName = o.Root.displayName;
54
+ const h = s.forwardRef(({ className: t, ...e }, r) => /* @__PURE__ */ a(
55
55
  o.Action,
56
56
  {
57
57
  ref: r,
58
58
  "data-component": "toast-action",
59
- className: i(
60
- "inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",
59
+ className: n(
60
+ "inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-focus-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive-hover group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",
61
61
  t
62
62
  ),
63
63
  ...e
64
64
  }
65
65
  ));
66
- v.displayName = o.Action.displayName;
66
+ h.displayName = o.Action.displayName;
67
67
  const w = s.forwardRef(({ className: t, ...e }, r) => {
68
- const { t: n } = x(), d = n("aria.close");
69
- return /* @__PURE__ */ p(l, { children: [
68
+ const { t: i } = b(), d = i("aria.close");
69
+ return /* @__PURE__ */ c(p, { children: [
70
70
  /* @__PURE__ */ a(u, { asChild: !0, children: /* @__PURE__ */ a(
71
71
  o.Close,
72
72
  {
73
73
  ref: r,
74
74
  "data-component": "toast-close",
75
- className: i(
76
- "absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",
75
+ className: n(
76
+ "absolute right-1 top-1 rounded-md p-1 text-content/50 opacity-0 transition-opacity hover:text-content focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-destructive-foreground group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive group-[.destructive]:focus:ring-offset-destructive",
77
77
  t
78
78
  ),
79
79
  "toast-close": "",
80
80
  "aria-label": d,
81
81
  ...e,
82
- children: /* @__PURE__ */ a(f, { className: "h-4 w-4" })
82
+ children: /* @__PURE__ */ a(l, { className: "h-4 w-4" })
83
83
  }
84
84
  ) }),
85
85
  /* @__PURE__ */ a(m, { variant: "tertiary", side: "top", children: d })
@@ -91,27 +91,27 @@ const y = s.forwardRef(({ className: t, ...e }, r) => /* @__PURE__ */ a(
91
91
  {
92
92
  ref: r,
93
93
  "data-component": "toast-title",
94
- className: i("text-sm font-semibold [&+div]:text-xs group-[.basic]:text-center group-[.basic]:font-normal", t),
94
+ className: n("text-sm font-semibold [&+div]:text-xs group-[.basic]:text-center group-[.basic]:font-normal", t),
95
95
  ...e
96
96
  }
97
97
  ));
98
98
  y.displayName = o.Title.displayName;
99
- const _ = s.forwardRef(({ className: t, ...e }, r) => /* @__PURE__ */ a(
99
+ const N = s.forwardRef(({ className: t, ...e }, r) => /* @__PURE__ */ a(
100
100
  o.Description,
101
101
  {
102
102
  ref: r,
103
103
  "data-component": "toast-description",
104
- className: i("text-sm opacity-90 group-[.basic]:text-center", t),
104
+ className: n("text-sm opacity-90 group-[.basic]:text-center", t),
105
105
  ...e
106
106
  }
107
107
  ));
108
- _.displayName = o.Description.displayName;
108
+ N.displayName = o.Description.displayName;
109
109
  export {
110
- h as Toast,
111
- v as ToastAction,
110
+ x as Toast,
111
+ h as ToastAction,
112
112
  w as ToastClose,
113
- _ as ToastDescription,
114
- A as ToastProvider,
113
+ N as ToastDescription,
114
+ D as ToastProvider,
115
115
  y as ToastTitle,
116
- b as ToastViewport
116
+ v as ToastViewport
117
117
  };
@@ -1,51 +1,51 @@
1
- import { jsx as r, jsxs as s } from "react/jsx-runtime";
2
- import * as l from "react";
3
- import * as o from "@radix-ui/react-tooltip";
4
- import { cva as p } from "class-variance-authority";
5
- import { cn as d } from "../../lib/utils.js";
6
- const c = o.Provider, x = ({ children: i, ...a }) => /* @__PURE__ */ r(c, { children: /* @__PURE__ */ r(o.Root, { ...a, children: i }) }), h = o.Trigger, f = p(
1
+ import { jsx as r, jsxs as l } from "react/jsx-runtime";
2
+ import * as m from "react";
3
+ import * as t from "@radix-ui/react-tooltip";
4
+ import { cva as c } from "class-variance-authority";
5
+ import { cn as n } from "../../lib/utils.js";
6
+ const f = t.Provider, x = ({ children: a, ...i }) => /* @__PURE__ */ r(f, { children: /* @__PURE__ */ r(t.Root, { ...i, children: a }) }), h = t.Trigger, p = c(
7
7
  "z-[100] overflow-hidden rounded-md px-4 py-2 text-sm animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",
8
8
  {
9
9
  variants: {
10
10
  variant: {
11
- primary: "bg-primary text-primary-foreground",
12
- secondary: "bg-background text-primary border shadow-md",
13
- tertiary: "bg-foreground text-background"
11
+ primary: "bg-brand text-brand-foreground",
12
+ secondary: "bg-canvas text-brand border shadow-md",
13
+ tertiary: "bg-content text-canvas"
14
14
  }
15
15
  },
16
16
  defaultVariants: {
17
17
  variant: "primary"
18
18
  }
19
19
  }
20
- ), g = l.forwardRef(({ className: i, sideOffset: a = 4, variant: t = "primary", showArrow: n = !0, ...e }, m) => /* @__PURE__ */ r(o.Portal, { children: /* @__PURE__ */ s(
21
- o.Content,
20
+ ), g = m.forwardRef(({ className: a, sideOffset: i = 4, variant: o = "primary", showArrow: d = !0, ...e }, s) => /* @__PURE__ */ r(t.Portal, { children: /* @__PURE__ */ l(
21
+ t.Content,
22
22
  {
23
- ref: m,
24
- sideOffset: a,
23
+ ref: s,
24
+ sideOffset: i,
25
25
  "data-component": "tooltip-content",
26
- "data-variant": t ?? "primary",
27
- className: d(f({ variant: t }), i),
26
+ "data-variant": o ?? "primary",
27
+ className: n(p({ variant: o }), a),
28
28
  ...e,
29
29
  children: [
30
30
  e.children,
31
- n && /* @__PURE__ */ r(
32
- o.Arrow,
31
+ d && /* @__PURE__ */ r(
32
+ t.Arrow,
33
33
  {
34
- className: d(
34
+ className: n(
35
35
  "fill-current",
36
- t === "primary" && "fill-primary",
37
- t === "secondary" && "fill-background stroke-border",
38
- t === "tertiary" && "fill-foreground"
36
+ o === "primary" && "fill-brand",
37
+ o === "secondary" && "fill-background stroke-border",
38
+ o === "tertiary" && "fill-foreground"
39
39
  )
40
40
  }
41
41
  )
42
42
  ]
43
43
  }
44
44
  ) }));
45
- g.displayName = o.Content.displayName;
45
+ g.displayName = t.Content.displayName;
46
46
  export {
47
47
  x as Tooltip,
48
48
  g as TooltipContent,
49
- c as TooltipProvider,
49
+ f as TooltipProvider,
50
50
  h as TooltipTrigger
51
51
  };
@@ -43,6 +43,7 @@ export interface MonthRangePickerProps extends Omit<InputProps, 'value' | 'onCha
43
43
  startMonth?: Date;
44
44
  endMonth?: Date;
45
45
  showFooter?: boolean;
46
+ displayFormat?: "MM/YYYY" | "YYYY/MM";
46
47
  }
47
48
  export interface WeekPickerProps extends Omit<InputProps, 'value' | 'onChange' | 'type' | 'suffix' | 'suffixClick'> {
48
49
  value?: WeekSelection;
@@ -14,11 +14,14 @@ export interface FilterPanelProps {
14
14
  className?: string;
15
15
  preventClose?: boolean;
16
16
  }
17
+ export type FilterSidebarCountBadgeContext = "appliedFields" | "savedFiltersTotal";
17
18
  export interface FilterSidebarItem {
18
19
  id: string;
19
20
  label: string;
20
21
  icon: React.ReactNode;
21
22
  count?: number;
23
+ /** Count badge tooltip: applied field selections (default) vs saved-filter total from API. */
24
+ countBadgeContext?: FilterSidebarCountBadgeContext;
22
25
  isRequired?: boolean;
23
26
  hasError?: boolean;
24
27
  hasWarning?: boolean;
@@ -15,6 +15,8 @@ export interface SavedFilterItem {
15
15
  id: string;
16
16
  label: string;
17
17
  type: SavedFilterType;
18
+ /** Whether this filter is marked as default */
19
+ isDefault?: boolean;
18
20
  }
19
21
  export interface FilterStripProps {
20
22
  /**
@@ -82,6 +84,18 @@ export interface FilterStripProps {
82
84
  * Loading state for the entire filter strip (shows skeleton placeholders)
83
85
  */
84
86
  isLoading?: boolean;
87
+ /**
88
+ * Callback when edit icon is clicked on a saved filter
89
+ */
90
+ onEditSavedFilter?: (filter: SavedFilterItem) => void;
91
+ /**
92
+ * Callback when delete icon is clicked on a saved filter
93
+ */
94
+ onDeleteSavedFilter?: (filter: SavedFilterItem) => void;
95
+ /**
96
+ * Callback when bookmark/default icon is clicked on a saved filter
97
+ */
98
+ onSetDefaultSavedFilter?: (filter: SavedFilterItem) => void;
85
99
  className?: string;
86
100
  /**
87
101
  * Keybinding to show in the "All Filters" button tooltip
@@ -13,7 +13,7 @@ export interface HorizontalScrollerProps<T = any> extends Omit<React.HTMLAttribu
13
13
  */
14
14
  scrollStep?: number;
15
15
  /**
16
- * Whether to hide the scrollbar. Default false.
16
+ * Whether to hide the scrollbar. Default true.
17
17
  */
18
18
  hideScrollbar?: boolean;
19
19
  /**
@@ -0,0 +1 @@
1
+ export type { StatisticsCardItem, StatisticsCardConfig, StatisticsCardChartConfig, StatisticsCardRootProps, StatisticsCardTitleProps, StatisticsCardChartProps, StatisticsCardLegendItemProps, StatisticsCardSummaryProps, } from '../statistics-card';
@@ -78,6 +78,8 @@ export interface SelectMessages {
78
78
  searchHere: string;
79
79
  selectAll: string;
80
80
  unselectAll: string;
81
+ /** Clears the current selection (multi-select menu row). */
82
+ clear: string;
81
83
  /** Multi-select trigger label, use {{count}} for number. */
82
84
  selectedCount: string;
83
85
  }
@@ -140,9 +142,15 @@ export interface FilterStripMessages {
140
142
  savedFilters: string;
141
143
  applyFilter: string;
142
144
  searchFiltersPlaceholder: string;
145
+ /** Action button labels for saved filters */
146
+ editFilter: string;
147
+ deleteFilter: string;
148
+ setAsDefault: string;
149
+ defaultFilter: string;
143
150
  }
144
151
  export interface FilterPanelMessages {
145
152
  filtersAppliedCount: string;
153
+ savedFiltersAvailableCount: string;
146
154
  tabContainsErrors: string;
147
155
  tabHasWarnings: string;
148
156
  additionalInfoAvailable: string;
@@ -46,7 +46,7 @@ const e = {
46
46
  between: "Between",
47
47
  inSet: "In Set",
48
48
  notInSet: "Not In Set"
49
- }, o = {
49
+ }, a = {
50
50
  search: "Search",
51
51
  searchPlaceholder: "Search...",
52
52
  select: "Select...",
@@ -61,13 +61,14 @@ const e = {
61
61
  logicAll: "all",
62
62
  logicAny: "any",
63
63
  operators: l
64
- }, a = {
64
+ }, o = {
65
65
  placeholder: "Select...",
66
66
  searchHere: "Search here...",
67
67
  selectAll: "Select All",
68
68
  unselectAll: "Unselect All",
69
+ clear: "Clear",
69
70
  selectedCount: "Selected ({{count}})"
70
- }, n = {
71
+ }, r = {
71
72
  searchPlaceholder: "Search...",
72
73
  apply: "Apply",
73
74
  reset: "Reset",
@@ -76,7 +77,7 @@ const e = {
76
77
  collapseAll: "Collapse All",
77
78
  expand: "Expand",
78
79
  collapse: "Collapse"
79
- }, r = {
80
+ }, n = {
80
81
  frozenColumns: "Frozen Columns",
81
82
  scrollableColumns: "Scrollable Columns",
82
83
  searchColumnsPlaceholder: "Search columns...",
@@ -121,9 +122,14 @@ const e = {
121
122
  notSelected: "Not selected",
122
123
  savedFilters: "Saved Filters",
123
124
  applyFilter: "Apply Filter",
124
- searchFiltersPlaceholder: "Search filters..."
125
+ searchFiltersPlaceholder: "Search filters...",
126
+ editFilter: "Edit",
127
+ deleteFilter: "Delete",
128
+ setAsDefault: "Set as default",
129
+ defaultFilter: "Default"
125
130
  }, u = {
126
131
  filtersAppliedCount: "{{count}} filters applied",
132
+ savedFiltersAvailableCount: "{{count}} Saved filters available",
127
133
  tabContainsErrors: "This tab contains errors",
128
134
  tabHasWarnings: "This tab has warnings",
129
135
  additionalInfoAvailable: "Additional information available"
@@ -186,10 +192,10 @@ const e = {
186
192
  }, g = {
187
193
  calendar: e,
188
194
  datePicker: t,
189
- filter: o,
190
- select: a,
191
- nestedList: n,
192
- dataTable: r,
195
+ filter: a,
196
+ select: o,
197
+ nestedList: r,
198
+ dataTable: n,
193
199
  aria: s,
194
200
  prompt: i,
195
201
  filterStrip: c,
@@ -70,6 +70,7 @@ const e = {
70
70
  searchHere: "Hier suchen...",
71
71
  selectAll: "Alle auswählen",
72
72
  unselectAll: "Auswahl aufheben",
73
+ clear: "Leeren",
73
74
  selectedCount: "Ausgewählt ({{count}})"
74
75
  },
75
76
  nestedList: {
@@ -130,10 +131,15 @@ const e = {
130
131
  notSelected: "Nicht ausgewählt",
131
132
  savedFilters: "Gespeicherte Filter",
132
133
  applyFilter: "Filter anwenden",
133
- searchFiltersPlaceholder: "Filter suchen..."
134
+ searchFiltersPlaceholder: "Filter suchen...",
135
+ editFilter: "Bearbeiten",
136
+ deleteFilter: "Löschen",
137
+ setAsDefault: "Als Standard festlegen",
138
+ defaultFilter: "Standard"
134
139
  },
135
140
  filterPanel: {
136
141
  filtersAppliedCount: "{{count}} Filter angewendet",
142
+ savedFiltersAvailableCount: "{{count}} gespeicherte Filter verfügbar",
137
143
  tabContainsErrors: "Diese Registerkarte enthält Fehler",
138
144
  tabHasWarnings: "Diese Registerkarte hat Warnungen",
139
145
  additionalInfoAvailable: "Zusätzliche Informationen verfügbar"
@@ -70,6 +70,7 @@ const e = {
70
70
  searchHere: "Buscar aquí...",
71
71
  selectAll: "Seleccionar todo",
72
72
  unselectAll: "Deseleccionar todo",
73
+ clear: "Borrar",
73
74
  selectedCount: "Seleccionado ({{count}})"
74
75
  },
75
76
  nestedList: {
@@ -130,10 +131,15 @@ const e = {
130
131
  notSelected: "No seleccionado",
131
132
  savedFilters: "Filtros guardados",
132
133
  applyFilter: "Aplicar filtro",
133
- searchFiltersPlaceholder: "Buscar filtros..."
134
+ searchFiltersPlaceholder: "Buscar filtros...",
135
+ editFilter: "Editar",
136
+ deleteFilter: "Eliminar",
137
+ setAsDefault: "Establecer como predeterminado",
138
+ defaultFilter: "Predeterminado"
134
139
  },
135
140
  filterPanel: {
136
141
  filtersAppliedCount: "{{count}} filtros aplicados",
142
+ savedFiltersAvailableCount: "{{count}} filtros guardados disponibles",
137
143
  tabContainsErrors: "Esta pestaña contiene errores",
138
144
  tabHasWarnings: "Esta pestaña tiene advertencias",
139
145
  additionalInfoAvailable: "Información adicional disponible"
@@ -70,6 +70,7 @@ const e = {
70
70
  searchHere: "यहाँ खोजें...",
71
71
  selectAll: "सभी चुनें",
72
72
  unselectAll: "सभी अचयनित करें",
73
+ clear: "साफ़ करें",
73
74
  selectedCount: "चयनित ({{count}})"
74
75
  },
75
76
  nestedList: {
@@ -130,10 +131,15 @@ const e = {
130
131
  notSelected: "चयनित नहीं",
131
132
  savedFilters: "सहेजे गए फ़िल्टर",
132
133
  applyFilter: "फ़िल्टर लागू करें",
133
- searchFiltersPlaceholder: "फ़िल्टर खोजें..."
134
+ searchFiltersPlaceholder: "फ़िल्टर खोजें...",
135
+ editFilter: "संपादित करें",
136
+ deleteFilter: "हटाएं",
137
+ setAsDefault: "डिफ़ॉल्ट के रूप में सेट करें",
138
+ defaultFilter: "डिफ़ॉल्ट"
134
139
  },
135
140
  filterPanel: {
136
141
  filtersAppliedCount: "{{count}} फ़िल्टर लागू",
142
+ savedFiltersAvailableCount: "{{count}} सहेजे गए फ़िल्टर उपलब्ध",
137
143
  tabContainsErrors: "इस टैब में त्रुटियाँ हैं",
138
144
  tabHasWarnings: "इस टैब में चेतावनियाँ हैं",
139
145
  additionalInfoAvailable: "अतिरिक्त जानकारी उपलब्ध"